Sie sind auf Seite 1von 44

Jeder Computer besteht im Prinzip aus

Steuerung das Speicherwort B als SRC


einem Steuerwerk, einem Rechenwerk und wieder den Addierer als DST an.
und einem Speicher. Aufgrund der Funktion des Addierers
Ein Computer führt Anweisungen oder
werden die beiden Werte addiert und
Befehle aus, die als Programm im das Resultat festgehalten. Zum Schluß
Speicher abgespeichert werden. Die wird der Addierer als SRC und das
Speicherwort C als DST angegeben.
Ausführung der Befehle erfolgt durch
Datentransporte, vom Speicher zum Damit wird das Ergebnis der Addition
Rechenwerk, vom Rechenwerk zum der Zahlen A und B in die Speicher-

Speicher, von einer peripheren Einheit


zelle C transportiert.

zur anderen usw..


Blockschaltbild des Computers
Nach diesem Prinzip wurde auch der
Computer 74 entwickelt. Durch die In Bild 1 ist das Blockschaltbild des
Ablage des Programms im Speicher ist Computers dargestellt.

er frei programmierbar und kann


da- Die Funktionseinheiten sind mit der
durch universell verwendet werden. Steuereinheit über gemeinsame Steuer-
J.T.W. Damen leitungen verbunden. Die Steuereinheit
kann über diese Steuerleitungen eine
bestimmte Funktionseinheit erreichen,
wenn ihr die Adresse bekannt ist. Um
eine Funktionseinheit als SRC oder
DST anzugeben, sind zwei Adreßlei-
tungen erforderlich, eine SRC- und
eine DST-Leitung. Für eine Daten-
übertragung zwischen den Funktions-

COMPUTER einheiten wird noch eine dritte Leitung


benötigt, die DATA-Leitung.
Die
heit
als
gibt
SRC bestimmte Funktionsein-
die in ihrem
(Zwischenspeicher) vorhandene Infor-
mation auf die DATA-Leitung, die
DATA-Buffer

74Ä
ML Teil 1
DST-Funktion wertet die DATA-Lei-
tung aus und verarbeitet die Informa-
tion.

Programm
Das charakteristische Merkmal eines
Das unterscheidet ihn von den üblichen Computers, das ihn von einer Rechen-
In einerReihe von fünf bis sechs
Taschen- und Tischrechern, die man maschine unterscheidet, ist das im
Artikeln stellt Elektor einen ebenfalls, wenn auch zu unrecht, Speicher abgelegte Programm. Das Pro-
Computer "für den Haus- manchmal als “Computer” bezeichnet. gramm ist ein Plan, nach dem die
gebrauch" vor. Der Computer 74 besteht aus einer Ausführung eines Auftrags erfolgt. Der
die für An-
Mit einem Aufwand von 350 bis zentralen Steuereinheit,
Computer liest das Programm Schritt
weisungen sorgt, und aus peripheren und setzt
2000 DM, je nach Ausbaustufe, Einheiten. Da jede dieser peripheren
für Schritt aus, übersetzt es

kann ein vollwertiger 16-Bit “Handlungen” (Operationen) um.


es in
Einheiten eine bestimmte Funktion
Im Computer 74 ist der Vorgang der
Rechner gebaut werden. Obwohl hat, werden sie im folgenden Funk- wird das Pro-
gleiche. Im Speicher
ein Halbleiterspeicher vorgesehen tionseinheiten genannt.
gramm abgespeichert, der Computer
ist, ist im Prinzip auch der
Der Computer kennt keine Befehle, und führt es aus. Das Programm
liest es
sondern nur Adressen von Funktions-
Anschluß eines Kassetten- ist einfach, es besteht nur aus einer
einheiten. Ein Auftrag wird ausgeführt,
rekorders als Speichermedium Liste von Adressen, die angeben, wel-
indem zwei Funktionseinheiten mit-
.

che Funktionseinheiten nacheinander


möglich. einander verbunden werden. Eine Ein-
als SRC oder DST fungieren sollen.
Der Computer 74 ist sehr gut für heit liefert die Daten, die andere
Das Programm für die Addition zweier
empfängt und verarbeitet sie. Aufgrund
Schulung und Demonstration Zahlen sieht dann folgendermaßen aus:
der unterschiedlichen Funktion der
geeignet, er kann aber auch auf (SRC) - Speicherzelle A
einzelnen Einheiten ist es möglich, den
vielen anderen Gebieten Computer verschiedene Aufträge aus- (DST) - Addierer
verwendet werden, die den führen zu lassen. (SRC) - Speicherzelle B
Die Ausführung eines Auftrages soll (DST) - Addierer
Einsatz eines Kleinrechners
nun am Beispiel einer Addition zweier (SRC) - Addierer
erfordern. (DST) - Speicherzelle C
Zahlen dargestellt werden. Der Steue-
Der Name "Computer 74" weist Die Speicherzellen A, B und C und der
rung stehen dazu ein Speicher und ein
auf das Jahr der Entwicklung Addierer zur Verfügung. Addierer stellen dabei Adressen dar.
sowie auf die Verwendung von Das Addieren geht dann folgender- Wichtig ist nun, daß von Augenblick
zu Augenblick festgestellt werden kann,
TTL-IC's der Serie 7400 hin. maßen vor sich: Die Steuerung be-
stimmt ein Speicherwort A als wieweit das Programm abgearbeitet ist.
Dazu dient ein spezieller Zähler: der
SOURCE (SRC, Quelle, Lieferant) und
PROGRAM COUNTER (PC). Der PC
den Addierer als DESTINATION (DST,
Danach gibt die kt wie. alle anderen Funktionen, eine
Bestimmungsort).

Elektor Mai 1974


5-34
Bild 1. Blockschaltbild des "Computer 74".
Die Funktionseinheiten des Computers sind
1 für die zentrale Steuerung über Adreßlei-
tungen erreichbar.

Bild 2. Das Prinzip der zentralen Steuer-


einheit des Computers.

Foto: Aufbau des Prototyps.

Einheit, die über die SRC- und DST-


Leitungen erreichbar ist.
Wenn der Computer ein Programm aus-
führt, muß zuerst der Inhalt der PC’s
ausgelesen werden. Darin befindet sich
die Adresse eines Speicherwortes (Start-
adresse). Dieses Speicherwort wird aus-
gelesen und die darin enthaltene Infor-
mation gleichzeitig in einem Buffer der
zentralen Steuerung abgespeichert. Die-
se Information stellt die Adresse der
Funktion für den ersten SRC dar.
Der PC wird mit jedem Auslesen seines
Inhalts automatisch um eine Stelle er-
höht. Mit dem nächsten Auslesen des
PC-Inhalts wird daher- die nächste
Speicheradresse gefunden.
Nun wird das unter dieser Adresse
stehende Speicherwort ausgelesen, der
Inhalt ist die Adresse der ersten DST.
SRC und DST sind nun beide bekannt,
wenn sie angewiesen werden, findet
die erste Datenübertragung statt. Da-
mit ist ein Zyklus vollzogen.

Prinzip der zentralen Steuerein-


heit
Das Prinzip der zentralen Steuerung
soll an dem bereits genannten Addier-
beispiel aufgezeigt werden. Bild 2 zeigt
dazu ein vereinfachtes Blockschaltbild
der Steuereinheit. In Tabelle I sind alle
im Beispiel vorkommenden Speicher-

5-35
Elektor Mai 1974
Bild 3. Blockschaltbild der zentralen Steue-
3 rung.

Bild 4. Flußdiagramm des Ablaufs der


Steuereinheit.

Tabelle I

Speicher- Inhalt Name der Bedeutung des


adresse Speicher- Inhalts
adresse

0000 0007 Anfangs- Adresse der


adresse Zahl A
0001 7706 Adr. d. Addierers
0002 0010 Adr. d. Zahl B
0003 7706 Adr. d. Addierers
0004 7706 Adr. d. Addierers
0005 0011 Adr. d. Zahl C
0006 7777 Adr. v. HALT
0007 0003 Zahl A 3
0010 0004 Zahl B 4
0011 0000 Zahl C 0

adressen mit Inhalt, Benennung und SRC := DATBUF Auf die SRC-Leitung pheren Einheiten führen (Bild 3). Zwei
kurzer Erläuterung der Bedeutung an- wird 0000 gegeben und Spei- davon, SRCENB (SOURCE ENABLE)
gegeben. Die Adresse des ADDIERERS cherplatz 0000 als SRC ange- und DSTENB (DESTINATION EN-
ist 7706, die von HALT (ebenfalls eine wiesen. Der Speicher reagiert mit ABLE) kommen aus der zentralen
Funktionseinheit) ist 7777, der PC hat 0007 (Inhalt des Speicherplatzes Steuerung und geben an, wann die
die Adresse 7776.*) HALT demzu-
ist 0000 ). SRC- und DST-Adressen gültig sind:
folge am Ende eines Programms anzu- SRCBUF :=DATA Die Steuerung über- Erst wenn auf der Leitung eine “1”
geben. nimmt diese DATA (0007) und steht, darf die gewählte SRC und DST
Die zentrale Steuerung führt nachein- gibt sie in den SOURCE-Buffer. wirksam werden.
ander folgende “Handlungen” aus: SRC := 7776 Der PC wird neu ausge- Die beiden anderen Leitungen, SRC-
SRC := 7776 (:= bedeutet “wird”) lesen (0001). RDY (SOURCE READY) und DST-
Die Adresse des PC (=7776) wird DATBUF := DATA Der Inhalt des PC RDY (DESTINATION READY) sind
auf die SRC-Leitung gesetzt. Der (0001) geht wieder in den DATA- Rückmeldungsleitungen: Die ange-
PC gibt den Inhalt seines Buffers Buffex. wählte SRC meldet über SRCRDY, daß
(0000, Anfangsadresse) auf die SRC := DATBUF
Als SRC wird 0001 ihr Auftrag ausgeführt worden ist, das
DATA-Leitung. angewiesen, der Inhalt hiervon gleiche gilt für DST und DSTRDY.
DATBUF := DATA
Die Data-Informa- (=7706) kommt auf die DATA-
Die Meldungen erfolgen auf eine Weise,
tion wird in
(=0000) einen Leitung.
die als “interlocked” bezeichnet wird.
DATA-Buffer (in der zentralen DSTBUF := DATA Dieser Inhalt wird Zuerst wird SRCENB (DSTENB) ge-
Steuerung) gegeben. im DSTBUF aufbewahrt, dieser
befindet sich in der zentralen
setzt, SRCRDY (DSTRDY) meldet
“1”, wenn der Vorgang abgeschlossen
Steuerung. Damit sind nun SRC
ist. Mit dieser Rückmeldung wird SRC-
und DST bekannt.
ENB (DSTENB) zurückgesetzt, danach
SRC := SRCBUF SRC 0007 wird mit
DST := DSTBUF DST 7706 (Addierer) auch SRCRDY (DSTRDY).
verbunden. Um den Computer zu starten, muß der
Der Inhalt des Speicherplatzes 0007 PC auf die Anfangsadresse des Pro-
*) Die Adressierung gilt für einen Computer
(die Zahl A = 0003) wird zum Addierer gramms eingestelltwerden können. Da-
mit 12 Bit Wortlänge, d.h., es sind 12 SRC,
transportiert (Ende eines Zyklus). für sind drei “Manual Register” vor-
12 DST und 12 DATA-Leitungen vorhanden.
Die Schreibweise der Adressen ist oktal, dem- gesehen.
Erweitertes Blockschaltbild Diese Register bestehen aus einer Reihe
nach wird ein binär codiertes Oktalsystem
verwendet. Darauf wird später noch näher Es sind noch vier weitere Leitungen von Schaltern, die beiden Stellungen
eingegangen. vorhanden, die ebenfalls zu allen peri- eines Schalters bedeuten dabei eine

5-36 Elektor Mai 1974


Im Flußdiagramm kommen noch zwei
neue Signalnamen vor: SRCCMD
(Source-Command) und DSTCMD
(Destination-Command). Dabei handelt
es sich um zwei Signalleitungen, die
von den einzelnen Funktionseinheiten
zur Steuerung laufen. Diese Leitungen
werden von Funktionseinheiten benö-
tigt, die zwar einen Befehl (SRC oder
DST) von der Steuerung übernehmen,
aber selbst eine neue SRC od&r DST
bestimmen können. Das ist bei in-
direkter Adressierung der Fall. Eine
genaue Beschreibung der Vorgänge auf
diesen Leitungen erfolgt zu einem
späteren Zeitpunkt.
Ein Programmschritt des Computers 74
besteht grundsätzlich aus einer Über-
tragung von Daten von einer Funktions-
einheit zur anderen. Dafür werden die
Adressen der beiden Funktionseinhei-
ten benötigt.
Die Steuereinheit hat daher die Auf-
gabe, die Adressen der beiden Funk-
tionseinheiten zu “besorgen” und die
Datenübertragung durchzuführen. Die-
se Aufgabe wird durch einen Ablauf
der Steuerung, wie er im Flußdiagramm
dargestellt ist, erfüllt. Für die Aus-
führung eines Programmschritts ist also
ein Ablauf der Steuerung erforderlich.
Betrachtet man das Flußdiagramm, so
erkennt man im wesentlichen zwei
Ablaufreihen (links und rechts im
Bild), die mit A und B bezeichnet sind.
Um mit dem Lesen eines Flußdia-
gramms vertraut zu machen, soll nun
der Ablauf A (auch Cyclus 1 genannt)
Schritt für Schritt besprochen werden.

SRC :=PC Die Adresse des PC wird


auf die SRC-Leitung gegeben.
SRCENB := “1” Damit ist die SRC-
Adresse gültig, die SRC (in die-
sem Fall der PC) gibt ihren In-
halt auf die DATA-Leitung.
SRCRDY An diesem Punkt muß auf
die Rückmeldung der SRC ge-
wartet werden. SRCRDY wird
erst dann “1”, wenn die SRC
ihren Inhalt auf die DATA-Lei-
“0” oder “1”. Ein Register ist für SRC STRTFF (Start) und SSTPFF (Single tung gegeben hat.
(SRCREG), eines für DST (DSTREG) Step) bezeichnet. Die Taste “Run” ist DATBUF := DATA Damit wird der
und eines für DATA (SR: Switch mit dem Rücksetzeingang des HLTFF
PC-Inhalt im DATBUF festgehal-
Register). Zu jedem Register gehört verbunden. Das Flipflop DSTFF (Des-
ten.
auch eine Lampenreihe (LED’s). tination-FF) gibt an, ob eine Adresse
SRCENB “0”
:= SRCENB wird nun
Das SR kann als SRC programmiert im SRCBUF oder DSTBUF abgelegt zurückgesetzt, weil der SRC-Auf-
werden, aber auch als DST (Lampen- werden soll.
trag ausgeführt ist.
anzeige), wogegen die Anzeigen der SRCRDY Es muß gewartet werden,
beiden anderen Register mit jedem Flußdiagramm bis auch SRCRDY wieder “0”
SRCENB b.z.w. DSTENB die auf den Der gesamte Ablauf der Steuereinheit ist.
Leitungen vorhandenen SRC- b.z.w. kann in einem Flußdiagramm dargestellt SRC := DATBUF Der im DATBUF
DST-Adressen anzeigen. werden (Bild 4). Dabei bedeutet ein abgespeicherte PC-Inhalt wird als
Weiter sind noch vier Taster vorhanden, Rechteck eine Operation (eine “Hand- Adresse auf die SRC-Leitung ge-
einer für “Halt”, einer für “Run”, einer lung”). Ein Parallelogramm ist das geben. In dem angegebenen Ad-
für “Start” und ein vierter für “Single Sinnbild für eine Verzweigung, wobei dierbeispiel wäre das die Adresse
Step”. Mit jeder Betätigung des Tasters die Richtung von der Antwort auf die der Zahl A.
“Single Step” wird ein Programm- zugehörige Frage abhängt (meist wird SRCENB := “1” Die angewählte Spei-
schritt durchlaufen. Die zugehörigen der Zustand einer Leitung oder eines cheradresse gibt ihren Inhalt auf
Flipflops sind mit HLTFF (Halt), Flipflops abgefragt). die DATA-Leitung.

Elektor Mai 1974 5-37


SRCRDY Warten auf die Rückmel- 0 “START”: Wenn HLTFF=”0”, gehe 31 reset SRCENB und warte bis SRC-

dung. nach "BEGINN”; RDY “0” wird;

DSTFF Beim ersten Durchlauf des 1 “WARTE”: wenn STRTFF= “ 1”, 32 gehe nach “START”;
Cyclus ist das DSTFF “0”. gehe nach “FOLGE”; 33 “SRCINDIREKT”: reset SRCENB
und warte bis SRCRDY “1”
1

SRCBUF := DATA Der Inhalt der 2 wenn SSTPFF=“0”, gehe nach


Speicherzelle (im Addierbeispiel “WARTE”; wird;

die Adresse der Zahl A) wird im 3 reset SSTPFF; 34 gehe nach “SRCFORTSETZUNG”;
4 “BEGINN”: DSTFF; 35 “DSTINDIREKT”: reset DSTENB
SRCBUF gespeichert. reset
“0”
SRCENB := “0” SRCENB wird zu- 5 “CYCLUS 1”: gib PC auf die SRC- und warte bis DSTCMD
Leitungen; wird;
rückgenommen.
SRCENB und warte 36 gehe nach “DSTFORTSETZUNG”.
SRCRDY Warten bis SRCRDY = “0”. 6 set bis SRC-
DSTFF :=“1” Das DSTFF wird ge- RDY“!” wird;
setzt, damit ist der erste Durch- 7 gib DATA in DATBUF; In diesem Programm müssen 16 ver-
beendet. 8 reset SRCENB und warte bis SRC- schiedene Befehle ausgeführt werden
lauf des Cyclus 1

RDY*^” wird; können:


Mit dem ersten Durchlauf Cyclus 1 9 gib DATBUF auf die SRC-Leitungen; 0 gib DATA in SRCBUF
wurde also die Adresse der Funktions- 10 setSRCENB und warte bis SRC- 1 gib SRCREG in SRCBUF
einheit, die als SRC fungieren soll, er- RDY“!” wird; 2 gib DATA in DATBUF
halten.Im Addierbeispiel wäre das die 11 wenn DSTFF = “1”, gehe nach 3 gib DATBUF auf SRC-Leitungen
Adresse der Speicherzelle, die die Zahl “CYCLUS 2”; 4 gib SRCBUF auf SRC-Leitungen
12 gib DATA in SRCBUF; 5 gib PC auf SRC-Leitungen
A zum Inhalt hat.
13 reset SRCENB und warte bis SRC- 6 set SRCENB
Wie aus dem Flußdiagramm ersichtlich
RDY “0” wird; 7 reset SRCENB
ist, folgt nun ein Rücksprung zum
Punkt A, damit wird ein zweiter Cy- 14 set DSTFF; 8 gib DATA in DSTBUF
clus durchlaufen. Aus dem PC erhält
1
15 gehe nach “CYCLUS 1”; 9 gib DSTREG in DSTBUF
man die nächste Speicheradresse. Da 16 “CYCLUS 2”: gib DATA in DST- 10 set DSTENB
BUF; reset DSTENB
am Ende des ersten Cyclus DSTFF ge- 1 1

17 reset SRCENB und


warte bis SRC- 12 set DSTFF
setzt wurde, wird der Inhalt dieser
“0” wird;
RDY 13 reset DSTFF
Speicheradresse im DSTBUF festgehal-
18 gehe nach “FORTSETZUNG“; 14 reset STRTFF
ten. Diese Verzweigung hat den Namen
19 “FOLGE”: reset STRTFF; 15 reset SSTPFF
Cyclus 2.
Am Ende von Cyclus 2 ist ein Sprung 20 wenn HLTFF = “0”, gehe nach
“BEGINN”; Weiter müssen 8 verschiedene Signale
nach B angegeben. Im Ablauf B, der im
21 gib SRCREG in SRCBUF; auf “0” oder “1” abgefragt werden
Mikroprogramm mit “Fortsetzung” be-
zeichnet ist, erfolgt dann mit Hilfe der 22 gib DSTREG in DSTBUF; können:
SRC- und DST-Adressen der erste 23 “FORTSETZUNG”: gib SRCBUF 0 SRCRDY
Datentransport. Der Befehl DST := auf die SRC-Leitungen; 1 DSTRDY
DSTBUF braucht dabei nicht gegeben 24 set SRCENB; 2 HLTFF
zu werden, da der Inhalt des DSTBUF 25 “SRCWARTE”: wenn SRCCMD = 3 DSTFF
ständig auf der DST-Leitung “steht”.
“1”, gehe nach “SRCINDIREKT; 4 STRTFF
Bei der Addition steht am Ende dieses 26 wenn SRCRDY = “0”, gehe nach 5 SSTPFF
Ablaufs die Zahl A im Addierer. Mit “SRCWARTE”' 6 SRCCMD
einem Sprung nach Punkt C im Fluß- 27 “SRCFORTSETZUNG”: set DST- 7 DSTCMD
diagramm beginnt der nächste Ablauf ENB;
der Steuereinheit. 28 “DSTWARTE”: wenn DSTCMD = Außerdem muß im Programm auf fol-
Wenn HLTFF “0” ist (die Run-Taste
“1”, gehe na«$h DSTINDI— gende Adressen gesprungen werden
betätigt) läuft die Steuerung so REKT”; können:
wurde
29 wenn DSTRDY = “0”, gehe nach 0 “START”
lange “rund”, bis das Programm abge-
arbeitet ist. Für das Additionspro- ‘»DSTWARTE”; 1 “WARTE”
30 “DSTFORTSETZUNG” reset 4 “BEGINN”
gramm nach Tabelle I wären z.B. drei :

“CYCLUS 1”
Steuerungsabläufe erforderlich. DSTENB und warte bis DSTRDY 5
“0” wird; 16 “CYCLUS 2”
Ein Programm kann durch Drücken der
Starttaste und der Run-Taste gestartet
werden. Wird nur die Starttaste be-
besteht die Möglichkeit, einen
tätigt, so Adresse Befehls- Test Check Check- Adreß-
Für die verschiedenen Interpretationsmög- code test
code test
Datentransport mit manuell eingestell- lichkeitender kodierten Mikroprogramm-
ten Adressen durchzuführen (SRCBUF 3 15 0 0 0 0
instruktionenist Je ein Beispiel angegeben.
:= SRCREG; DSTBUF :=DSTREG). Adreßtest "0‘*
1— daher kein
Davon wird z.B. beim Einstellen des Sprungbefehl
PC Gebrauch gemacht. Soll ein Pro-
_Checktest "0”, daher
gramm in Einzelschritten abgearbeitet keine Abfrage
werden, so ist die Taste “Single Step
zu drücken. Die Steuerung läuft dann Check-Wert ''0", weil keine

Abfrage
nur einmal ab und muß nach jedem
Ablauf mit SSTP neu gestartet werden. —kein Signal angegeben
t

Mikroprogramm |
— Befehl 15: reset SSTPFF

Das Flußdiagramm kann auch auf an- — Mikroprogrammadresse 3: reset SSTPFF


dere Weise geschrieben werden, als eine
Art Programm:

Elektor Mai 1974


5-38
19 “FOLGE” Abfrage oder eine Sprungadresse dar-
23 “FORTSETZUNG” stellt.
25 “SRCWARTE” Für den Befehlscode sind 4 Bit erfor- Erklärung der Abkürzungen:
27 “SRCFORTSETZUNG” derlich (16 Befehle), für den Abfrage-
28 “DSTWARTE” code 3 Bit (8 Abfragen) und für den
30 “DSTFORTSETZUNG” Adreßcode 6 Bit (1—37 Adressen). Man
33 “SRCINDIREKT” würde also insgesamt 1 3 Bit benötigen.
35 “DSTINDIREKT” Aus dem Mikroprogramm geht aber
hervor, daß ein Befehlund ein Sprung- DATA (Daten, Information)
Das “Mikroprogramm” kann nun ko- auftrag nie gleichzeitig Vorkommen. DATBUF Data Buffer
diert werden. Jede Mikroprogramman- Die 6 Bits der Sprungadresse können DST Destination (Bestimmung; Bestim-
weisung wird in eine binäre Form um- daher auch als Befehlscode verwendet mungsort)
gesetzt, die dann einen Befehl, eine werden, wenn durch ein zusätzliches DSTBUF Destination Buffer
Bit angegeben wird, um welchen Code DSTCMD Destination Command (zu-
sätzliche Leitung zur Bestimmung
Tabelle II es sich handelt. Durch zwei weitere
einer Destination durch eine Funk-
Bits wird festgestellt, ob es sich um
Adres- Befehls- Test- Check Check- Adreß tionseinheit)
eine Abfrage handelt und welches Ab-
se code code test test DSTENB Destination Enable (Leitung,
frageergebnis erwartet wird (“0” oder
die angibt, wann die DST-Adresse gül-
0 4 2 0 i 1 “1”). Das codierte Programm ist in
tig ist)
1 19 4 1 i 1
TabelleII angegeben. Befehlscode und DSTFF Destination Flipflop (wenn es
2 1 5 0 i 1
Testcode sind dabei in dezimalen Zah- gesetzt ist, wird eine Adresse im
3 15 0 0 0 0 len dargestellt. DSTBUF abgelegt)
4 13 0 0 0 0
DSTRDY Destination
Die Interpretation einer Mikro-Instruk- Ready (Leitung,
5 5 0 0 0 0
tion ist mit Hilfe der beiden letzten die angibt, daß die DATA von der
6 6 0 1 1 0
Bits möglich. DST empfangen wurde)
7 2 0 0 0 0
Sind beide “0”, so ist die Instruktion DSTREG Destination Register (Register
8 7 0 0 1 0
zur manuellen Einstellung einer DST-
9 3 0 0 0 0 ein echter Befehl, ist der Adresstest
Adresse)
10 6 0 1 1 0 “1” und der Checktest “0”, dann muß
HLT Halt (Taste zum Setzen des Halt-
11 16 3 1 1 1 der Code als Sprungbefehl aufgefaßt Flipflops)
12 0 0 0 0 0 werden. HLTFF Halt-Flipflop (wenn es gesetzt
13 7 0 0 1 0 Wenn allein der Checktest “1 ” ist, dann ist, wird die Steuerung am Ende eines
14 12 0 0 0 0
muß gewartet werden, bis das unter Ablaufs angehalten)
15 5 0 0 0 1
Testcode angegebene Signal den Wert PC Program Counter (Zähler, der mit
16 8 0 0 0 0
annimmt, der unter Check angegeben ist. jedem Programmschritt hochgezählt
17 7 0 0 1 0 wird)
18 23 0 0 0 Sind dagegen beide Bits “1”, dann wird
1
RUN (Taste zum Rücksetzen des HLT-
19 14 0 0 0 0 das unter Testcode angegebene Signal
FF)
20 4 2 0 1 1 auf den unter Check angegebenen Wert SR Switch Register (Register zur ma-
21 1 0 0 0 0 geprüft. Ist der Wert vorhanden, folgt nuellen Eingabe und Anzeige von
22 9 0 0 0 0 ein Sprung nach der Mikroprogramm- DATA)
23 4 0 0 0 0 adresse, die unter dem Befehlscode an- SRC Source (Quelle, Lieferant)
24 6 0 0 0 0 gegeben ist. Ist der Checkwert nicht SRCBUF Source Buffer
25 33 6 1 1 1
SRCCMD Source Command (analog
erfüllt, dann folgt gewöhnlich die fol-
26 25 0 0 1 1
DSTCMD)
0 0
gende Mikroprogramm-Instruktion.
27 10 0 0 SRCENB Source Enable
28 35 7 Hierzu sind im Kasten unten Beispiele
1 1 1
SRCRDY Source Ready
29 28 0 angegeben.
1 1 1
SRC REG Source Register
30 11 1 0 1 0 Im Teil 2 wird die “Hardware”, die SSTPFF Single-Step Flipflop
31 7 0 0 1 0 schaltungstechnische Realisierung des STRT Start (Taste zum Setzen des Start
32 0 0 0 0 1
Mikroprogramms und der Steuerein- Flipflop's)
33 7 0 1 1 0 heit, beschrieben. STRTFF Start-Flipflop (muß zum
34 27 0 0 0 1
Starten eines Programms gesetzt wer-
35 11 7 0 1 0 den)
36 30 0 0 0 1

Adresse Befehls* Test Check Check* Adreß- Adresse Befehls- Test- Ceck Check- Adreß- Adresse Befehls- Test- Ceck Check- Adreß-
code code test test code code test test code code test test

15 5 0 0 0 1 6 6 0 1 1 0 0 4 2 0 1 1

Adreßtest "1", Lein "Sprung” |_Adreßtest ”1":


1— daher Sprung- Sprungbefehl
befehl I— Abfrage
1— Checktest "1”: Abfrage
^Checktest "0", daher ‘-es wird eine ”1" erwartet
keine Abfrage Checkwert "0": Abfrage auf ”0"
L-Testcode 0: SCRRDY
_Checkwert ”0”, weil keine
—Testcode 2: HLTFF
Abfrage I— Befehl 6: set SRCENB
L-da Adreßtest "1”, Adresse 4: "BEGINN”
>-kein Signal angegeben __Mikroprogrammadresse 6: set SRCENB und warte bis
SRCRDY "1” wird _Mikroprogrammadresse 0: "START”. Wenn HLTFF*. 0,
da Adreßtest "1" handelt es sich um
ist,
gehe nach "Beginn”.
eine Sprungadresse, Adresse 5: "CYCLUS 1"

— Mikroprogrammadresse 15: gehe nach "CYCLUS 1"

Elektor Mai 1974


5-39
Read Only Memory daß der Zähler zu bestimmten Zeit-
Das gesamte Mikroprogramm ist fest punkten eine unbenutzte Adresse än-
einem ”Read Only weist, die dann unerwünschte Funk-
verdrahtet in
Memory” (abgekürzt: ROM = Fest- tionen auslösen könnte, sind auch diese
wertspeicher) enthalten, dessen Prinzip Adressen selektiert und mit einer
in Bild 5 angedeutet ist. Der Speicher-
Mikroinstruktion versehen, die das
inhalt besteht aus 37 Worten (0 .36). .
Programm auf die Adresse 0 springen

von 12 bit, davon sechs für den Befehls- läßt.

code, drei für den Testcode und je eins Die Gesamt Schaltung des ROM’s ist in

für Check, Checktest und Adressen- Bild 6 angegeben. Jede Adressen-Aus-


test. Jedes Wort setzt sich in Überein- wahlleitung besteht aus einer mit sechs
stimmung mit dem Mikroprogramm Germaniumdioden aufgebauten AND-
aus binären Nullen und Einsen zusam- Schaltung, auf die ein Inverter folgt.
Nur wenn alle Eingangsleitungen
”1”
men.
Sowohl die Adressen-Auswahl als auch Ausgang des Inverters ”0”.
sind, ist der
der Festwertspeicher selbst sind als Dieser Ausgang steuert über Dioden
im Festwertspeicher einzelne der 12
Leitungen zu ”0”, die ihrerseits inver-
tiertwieder eine ”1” liefern.
Teil II
Somit erscheint die Mikroinstruktion
am Ausgang des Speichers. Die ersten
sechs Leitungen des Speichers führen
zu den Paralleleingängen der Binär-
zähler SN 74161. Erhalten die Zähler
einen ”load”-Befehl (LD), so wird eine
neue Adresse ”eingetaktet”, es erfolgt
ein Sprung im Mikroprogramm.
Die Mikro-Instruktionen aus dem ROM
müssen nun in der richtigen Weise
interpretiert werden, das geschieht mit

Computer 74 J.T.W. Damen


Hilfe der ROM-Steuerung, deren Schal-
tung Bild 7 zeigt. Bit 10 und 1 1 wer-
den in vier Gattern INC, INCTST,
ADR und ADRTST dekodiert. Das
erste Gatter erzeugt ein inkrementier-
tes Adressen-Signal (inkrementieren:
Der erste Teil des Artikels Diodenmatrix ausgeführt. Ein Adres- um 1 erhöhen), das den ROM-Adres-
sen-Zähler steuert die Adressen-Aus- senzähler veranlaßt, die nächste Mikro-
befaßte sich mit dem Prinzip des
wahl, er kann im Prinzip 64 Adressen Instruktion auszulesen. INCTST arbei-
"Computer 74", dabei wurde angeben, von denen eine Anzahl nicht tet ebenso, aber über das Gatter
anhand des Flußdiagramms der gebraucht wird. Umzu verhindern, CHKTST. Dieses Gatter wird aus einer
Steuereinheit ein Mikro-
programm entwickelt. In diesem
Teil wird nun beschrieben, wie
das Mikroprogramm die
Wirkungsabläufe des Computers
steuert.

Bild 5. Das "Read Only Memory" (ROM),


in dem das gesamte Mikroprogramm in
fester Verdrahtung gespeichert ist.

Bild 6. Die Gesamtschaltung des Festwert-


speichers (ROM). Aus der vergrößerten
Detailzeichnung ist zu ersehen, daß die aus
Platzmangel als Punkte eingezeichneten
Verknüpfungspunkte aus Germanium-Dio-
den bestehen. Jede Adressen-Auswahlleitung 4005 5
besteht aus einer AND-Schaltung, mit sechs
Ge-Dioden und nachfolgendem Inverter.

6-48 Elektor Juni 1974


+Ub = 5 V
+Ub = 5 V
40 x 470 12 Ge-Dioden

ÄCPWW5®'’
— =:
5

2x74161
6x7404
A 1 2x7404
12 x D
BSX32 R
z

-l — l-tQP-fl
K
H
L LOAD
CZh-tlP
qa E CLOCK
czmQ L_ 5
*
R
1 cl?a(?

12x18012

12 x 100 12

A
-c=M D
§1 R
H=> -c=h-c(D^ Z
Ä
-CH H
LOAD
L
E
i— I-

CLOCK
R ROM-

7406
7407
P 0 CL?A^

ADRRST
Ö Ö Ö,1,Ö O 6 Ö
Q02Ö 03 04 06 05 07 08 09 10
4005 6
11

ADRINC-I
ADRLD _

Vergleicher-Schaltung gesteuert, die verglichen, das Resultat des Vergleichs ADR liefert ein ”adress-load”-Signal
aus CHECK 1,2, 3, 4 und 5 besteht. steuert CHKTST. an den Adressenzähler, der die Adresse
CHKSEL wählt eine der acht Testlei- Es geschieht nichts, solange das selek- von den ROM-Ausgängen 00 ... 05
tungen (SRCRDY, DSTRDY, HLTFF, tierte Signal ungleich ROM 09 ist, nur übernimmt, das verursacht einen
usw.) entsprechend der Kodierung von wenn beide Signale gleich sind, folgt Sprung im Mikroprogramm.
ROM 08, -07 und -06. Anschließend ein inkrementiertes Adressen-Signal ADRTST schließlich steuert die beiden
wird die gewählte Leitung mit ROM09 wie oben beschrieben. CHKFLS und CHKTRU auf,
Gatter

Elektor Juni 1974 6-49


die das bereits erwähnte Vergleichs- sich Abläufe entsprechend den Spezifi- welches bewirkt, daß das gleiche Gatter
signal verarbeiten; und zwar CHKFLS kationen von ROM 10 und ROM 11, INCGEN für kurze Zeit geschlossen
das ”Ungleich”-Signal, das in ein wie sie in der Beschreibung des Mikro- bleibt. Damit wird sichergestellt, daß

;
Adressen-Inkrement umgewandelt Programms angegeben sind. eine Mikro-Instruktion für eine be-
wird. CHKTRU übersetzt das "Gleich”- INCSEL steuert über das Gatter stimmte Mindestzeitdauer am Ausgang
Signal in ”adress-load”. Damit ergeben INCGEN ein Monoflop INCDLY, des ROM’s vorhanden bleibt. Das ist

6-50 Elektor Juni 1974


3
DATA

DATBUF SRCBUF

SRC

DST

Bild 7. Die Gesamtschaltung der ROM-Steu-


erung. Diese Einheit bewirkt, daß die Mikro-
Instruktionen aus dem ROM richtig inter-
pretiert werden.

Bild 3. Blockschaltung der zentralen Steue-


rung des Computers. Dieses bereits im
ersten Teil gebrachte Bild wurde hier der
Verdeutlichung halber wiederholt.

erforderlich, um dievon der Instruk-


tion ausgelösten Funktionen richtig
ablaufen zu lassen. Auch bei LDSEL
wird das gleiche Verfahren benutzt.
CMDDEC ist für die Ausführung der
Funktionen verantwortlich, hier wer-
den die ROM-Ausgänge ROM 02 ... 05
dekodiert, damit wird eine der sech-
zehn Ausgangsleitungen aktiviert. Jede
Leitung entspricht einem der sechzehn
Befehle. Die Dekodierung kann nur
dann erfolgen, wenn ROM 1 1 ”0” ist,
denn nur in diesem Fall handelt es sich
um einen Befehl. Aus diesem Grund ist
der ”Enable”-Eingang des SN74154
mit ROM 11 verbunden. Die sechzehn
Ausgangsleitungen des 74154 - bei
einigen von ihnen wird das Signal noch
invertiert - führen zu den zugeordneten
Steuerflipflops und zu den Buffer-

Elektor Juni 1974 6-51


Stufen. zu verdeutlichen ist hier nochmals das während SRCRDY, DSTRDY,
Die Steuerflipflops arbeiten als RS- Blockschaltbild der zentralen Steue- SRCCMD und DSTCMD über Inverter
Flipflops, sie sind aus zwei NAND- rung aus dem ersten Teil des Artikels zur ROM-Steuerung führen. Die Inver-
Gattem aufgebaut, FF-SRC wählt die in Bild 3 wiedergegeben. Die verschie- ter sind erforderlich, weil alle BUS-
SRC- bzw. die SRCENB-Leitung an, denen Buffer in Bild 3 sind in Gruppen Leitungen (d.h. Leitungen, die mit den
FF-DST die DST- bzw. die DSTENB- zu vier bits aufgeteilt, da viele IC’s in Geräten verbunden sind) bei allen
Leitung. Ferner sind vorhanden: Ein Einheiten zu vier bit erhältlich sind. Geräten eine ”wired-or” Verbindung
HALT/RUN-FF, ein DST-Flipflop, Durch die parallele Verwendung meh- bilden, daher sind die Signale auf allen
das beim Durchlauf des Mikropro- rerer Gruppen kann die Anzahl der diesen Leitungen invertiert. Überall,
gramms Verwendung findet, sowie ein bitsauf 8, 12, 16 usw. erweitert wer- wo eine BUS-Leitung gesteuert werden
START -FF und schließlich ein SSTP- den, im Prinzip ist die Anzahl unbe- soll, geschieht das über ein Gatter mit
FF (Single-Step-FF). grenzt. offenem Kollektor-Ausgang.
Die Verbindungen zwischen den Buffer- Aus Bild 9, der Gesamt Schaltung einer
Bufferstufen Gruppen und der ROM-Steuerung Buffer-Gruppe, geht hervor, daß die
Der Computer 74 läßt sich mit einer gehen aus Bild 8 hervor. Die SRC-, SRC- und DST-Leitungen von einem
beliebigen Anzahl von SRC-, DST- und DST-, DATA-SRCENB- und DSTENB- SN 7438 gesteuert werden, bei diesem
DATA-Leitungen ausrüsten, um das Leitungen beginnen bei den Buffern, Typ handelt es sich um ein Power-

6-52 Elektor Juni 1974


DATA A
DATA B
DATA C
DATA D

NSRGKL
NSDTKL

DATKLK
SRCBUF 174175

s i
+Ub=5V

IMS
NPCSRC üii

DDTKLK
ERRXRRRXXH
2 x 7451 I
ABC
dbfsl |
dbfsl I dbfsl dbfsl

NDRGKL
DSTBUF 74175
NDDTKL

DSTGAT

NAND mit offenem Kollektor-Aus- erster Linievon der Steuereinheit be- Bild 8. Dieses Bild verdeutlicht die Verbin-

gang. Auch die DATA-Leitungen, dient werden, sind als ”wired-or” aus- dungen zwischen ROM, ROM-Steuerung,
Registern und Buffergruppen.
SRCRDY, DSTRDY, SRCCMD und geführt. Diejenigen Geräte, die indirekt
DSTCMD müssen von Ausgängen mit adressieren sollen (über SRCCMD und
offenem Kollektor gesteuert werden. DSTCMD), müssen auch diese Leitun- Bild 9. Die Gesamtschaltung einer der Buf-
Auch SRCENB und DSTENB, die in gen benutzen können. fer-Gruppen aus Bild 8.

Elektor Juni 1974 6-53


J

2. Inwieweit wird die Verständlichkeit


beeinflußt?
Erklärungen
Experimente mit hochfrequenten Clip-
der Abkürzungen: pern ergaben, daß die Verständlichkeit
selbst bei unendlicher Begrenzung noch
ADR Adresse (laden): verursacht ei-
nen Sprung im Mikroprogramm gut blieb, weil die mittlere Leistung
ADRTST Adressentest: verursacht einen um etwa 10 dB anstieg. Die Verständ-
Sprung, wenn der Test (Abfra- lichkeit ließ sich noch verbessern,
ge) ein positives Resultat ge- wenn der NF-Übertragungskette ein
bracht hat Preemphasis-Glied vorangeschaltet
CHK Check: Abfrage, ob ein be- wurde.
stimmter Befehl ausgeführt Auch bei unendlicher Begrenzung be-
werden muß oder nicht
sitzt ein gefiltertes SSB-Signal noch
CHKFLS Check False: das abgefragte
Amplitudenveränderungen, da die
Signal hat nicht den gewünsch-
ten Wert
schnellen Phasensprünge von SSB-
CHKSEL Check Select: Auswahl der Signalen aus dem gesendeten Frequenz-
Signalleitungen, die abgefragt
werden müssen
CHKTRU Check True: das abgefragte
Signal hat den gewünschten Teil II

Wert
CHKTST Checktest: Abfrage, ob ein
Check ausgeführt werden muß
CMDDEC Kommando-Dekoder
ADRINC Increment (um eins erhöhen):
einen Schritt in Mikropro-
gramm weiter gehen
INCDLY Increment Delay: stellt sicher,

INCGEN
INCSEL
daß das INC-Signal ausreichend
lange ansteht
Increment Generator
Increment Select
modulations-
INCTST

ADRLD
Incrementtest: Increment,
wenn das Resultat der zugehö-
rigen Abfrage positiv ist
Load: Einlesen der Adresse der
verfahren
nächsten lnstruktion.es erfolgt
- ein Sprung im Mikroprogramm
LDDLY ]
Erzeugen zusammen ein Load-
LOGEN Signal (vergleiche INC, Wie in Teil bereits angekündigt,
I
Spektrum herausfallen.
LDSEL INCDLY usw.) Soll das geklippte SSB-Signal von
befaßt sich dieser Beitrag mit der
ROM Read Only Memory: Festwert- allen Amplitudenschwankungen befreit
speicher, in diesem Fall durch Trägerlagemodulation (CPM),der werden, so ist eine weitere Behandlung
eine Diodenmatrix realisiert. Frequenz- sowie der Phasenmo- dieses Signals erforderlich, es liegt auf
dulation. Für die UKW-Übertra- der Hand, daß eine PLL-Schaltung sich
gung hat sich die Frequenzmodu- dazu eignet. Bild 16 zeigt das Prinzip
lation als das beste System einer CPM-Schaltung. Dabei wird ein
SSB-Signal erzeugt, wobei das NF-
bewährt, während die CPM sich
Signal eine Preemphasis erhält, nach
optimal zur Sp rachübe rtragung der Begrenzung wird dieses Signal dann
eignet. einer PLL-Schaltung zugeführt. Der
Die Schaltung der Buffergruppe ist VCO schwingt dann mit der gleichen
leicht zu durchschauen. Die Buffer aus Frequenz wie das SSB-Signal, es sind
Bild 3 werden von IC’s der Typs aber keine Amplitudenänderungen
SN 74175 gebildet, jeder dieser Bau- mehr vorhanden. Die PLL ist so dimen-
steine enthält D-Flipflops. Vor
vier sioniert, daß sie den schnellen Phasen-
SRCBUF und DSTBUF hegt eine Aus- sprüngen des SSB-Signals nicht folgen
wahlschaltung (2x SN 7451 oder kann; deshalb vergrößert sich die Band-
SN 7452), die entweder "die DATA- breite des CPM-Signals kaum oder gar
Leitungen oder die manuellen SRC- nicht gegenüber derjenigen des
und DST-Register auswählt. Der ursprünglichen SSB-Signals. Im Hin-
DSTBUF steuert die DST-Leitungen, blick auf die Verständlichkeit läßt
SOURCE wirkt als Zwischenbuffer, sich mit CPM eine beträchtliche Erhö-
dem von drei Seiten Signale zugeführt hung des Wirkungsgrads erzielen.
werden können. Das ist auch aus Bild 3 Der Zusammenhang zwischen Ver-
zu ersehen. ständlichkeit und Empfänger-Eingangs-
Eine der drei Seiten ist die Adresse des Trägerlagemodulation (Carrier spannung für verschiedene Modulati-
PC, die stets aus binären Einsen be- Position Modulation, CPM) onsverfahren ist in Bild 17 aufgezeigt.
steht, abgesehen vom letzten (least Verwendet man einen Sprach-Clipper, Dabei wurden Wortreihen ohne jeden
significant) bit, das ”0” ist. An eine so sind zwei Fragen zu klären: Zusammenhang übertragen; der ZF-
der Gruppen gelangt hier also eine ”0”. 1. Wie hoch ist der Gewinn, der mit Teil des Empfängers war für jedes
M diesem Verfahren zu erreichen ist? Übertragungsverfahren optimal ausge-

6-54 Elektor Juni 1974


,

Die SRC- und DST-Register (Handbe- Adresse vom SR (die DST-Leitungen;


dienung) bestehen aus einer Reihe von untere linke Ecke, von oben nach unten
können Lämp-
Schaltern, als Anzeigen gelesen) 111.111.111.100 = 7774 lau-
chen oder LED’s Verwendung finden. tet.Diese Information wird zusammen
Aus den Bildern 8 und 10 ist u.a. er- mit SRCENB oder DSTENB erneut
sichtlich,daß die Schalter direkt mit AND-verknüpft, womit dann ein
den zugehörigen Eingängen der Buffer- ”address-selected”-Signal (SEL) verfüg-
Gruppen verbunden sind. Die Selektion bar ist. Anschließend folgt eine mit
dort sorgt dafür, daß die im Register DEVSEL (device-select) bezeichnete
vorhandene Information im richtigen Schaltungsgruppe, deren Aufbau
Moment übernommen wird. Bild 13 zeigt. Sie enthält ein RS-Flip-
Bei den Displays verhält es sich etwas flop, das mit der positiven Flanke des
anders. Sie erhalten die Informationen SEL-Signals gesetzt wird, Reset erfolgt
über die SRC- und DST-Leitungen, die mit der negativ gerichteten Flanke von
Informationen sind aber nur für eine ENB (SRC- oder DSTENB), also dann,
kurze Zeitdauer vorhanden. Um, be- wenn diese Leitung auf ”0” geht. Der
Ausgang des RS-Flipflops aktiviert die
Einheit. Gleichzeitig gelangt die Aus-
gangsinformation des RS-Flipflops, ver-
zögert durch ein RC-Glied, als RDY-
Signal (SRC- oder DSTRDY) an BUS.
Die Arbeitsweise des Flankendetektors
(in Bild 13) ist aus Bild 14 ersichtlich.

Computer Das Signal wird dem einen Eingang


eines NAND-Gatters direkt, dem ande-
ren Eingang aber verzögert und inver-
tiert zugeführt. Ist das Signal
(> + 3 V), so ist ein N AND-Eingang ” 1 ”
der andere ”0”, demzufolge ist der
”1”

NAND- Ausgang ”1”. Wird das Ein-


gangsignal anschließend ”0” (0 V), so
wird der erste Eingang unmittelbar ”0”;
Teil 3 hingegen verbleibt der andere Eingang
wegen der Signalverzögerung (RC-
Glied!) noch kurze Zeit im Zustand
”0”
bevor er ”1” wird. Somit ist zu jeder
In den bereits veröffentlichten sonders bei ”single Step”, sehen zu kön- Zeit mindestens ein NAND-Eingang
Teilen der Artikelreihe "Compu- nen, was geschieht, ist ein Zwischen- ”
”0”, der Ausgang bleibt 1 ” das NAND
:

speicher vorgesehen. Bild 1 0 zeigt, daß ”sieht” die negative Flanke nicht! Geht
ter 74" wurde die Arbeitsweise
für jeweils 4 bit ein SN 74 1 75 als Spei- das Signal nun wieder auf ”1”, so
ausführlich besprochen, ferner cher dient, in den die Signale mittels herrscht dieser Zustand auch sofort am
wurde die Ablaufsteuerung SRCENB oder DSTENB ”eingetaktet” ersten NAND-Eingang, der zweite Ein-
durch ein Mikroprogramm dar- werden. Die Speicherausgänge steuern gang verbleibt noch kurz auf ”1” um
gestellt. Nunmehr folgen die die LED’s (oder Lämpchen). dann ”0” zu werden. Somit wird der
Wiederum andere Verhältnisse gelten NAND-Ausgang für kurze Zeit ”0”.
Beschreibung des Bedienungspa- für SR (Switch Register für DATA), Die Dauer des Ausgangsimpulses läßt
neels sowie Angaben über den dieses Register ist stets über das Pro- sich mit Hilfe des vor dem Inverter an-
Aufbau. gramm zu erreichen. Als SRC muß die geordneten RC-Gliedes einstellen. Eine
von den Schaltern stammende Infor- negativ gerichtete Impulsflanke läßt
mation auf die DATA-Leitungen ge- sich auf zwei Arten detektieren: Ent-
langen, als DST hingegen muß die auf weder nach der oben geschilderten Me-
den DATA-Leitungen vorhandene In- thode, aber mit Hilfe eines OR-Gatters,
formation durch die LED’s angezeigt
werden. Es muß daher eine Adressen-
Auswahl stattfinden. Die Bilder 1 1 und Bild 10: SRC-Register (identisch mit DST-
12 zeigen das SR in den Funktionen Register) und Display. Mit den Schaltern
SRC bzw. DST. kann eine Adresse für SRC (oder DST) ein-
programmiert werden. Die ausgehende Lei-
Adressenauswahl tungen gehen in drei Gruppen zu vier Lei-
Die Adressen-Auswahl hat für alle "peri- tungen zu den drei Buffer-Gruppen (vgl.
pheren” Einheiten die gleiche Struktur. Bild 8 und Bild 9 in Teil II). Das Display
Die SRC- oder DST-Leitungen steuern zeigt stets die zuletzt benutzte SRC-Adresse

diese Einheit über Inverter oder über (oder DST-Adresse) an.

AND-Gatter, die Wahl einer peripheren


Bild 11: Das Switch- Register (SR) als SRC.
Einheit als SRC oder DST geschieht ge-
Hier wird auf die gleiche Weise wie beim
trennt. Da die Signale auf den BUS-
SRC-Register DATA einprogrammiert, zu-
Leitungen invertiert sind, laufen dieje- sätzlich ist hier ein Adressen-Detektor vor-
nigen Leitungen, die in der Adresse ”1” handen, so daß DATA erst auf den Leitun-
sein müssen, über Inverter. gen erscheint, wenn die zentrale Steuerein-
Aus Bild 1 2 ist zu entnehmen, daß die heit den Befehl gibt

10-36 Elektor Oktober 1974


Elektor Oktober 1974 10-37
Dann muß in SRCREG die Adresse des
SR (7774) gesetzt werden, in DSTREG
die von PC (7776) und in SR die An-
fangsadresse des Programms.
2) HALT betätigen, SINGLE STEP be-
tätigen: der Computer führt einen
Schritt des eingespeicherten Programms
aus. Die dabei ausgewählten SRC und
DST sowie die transportierten Daten
sind an den Displays abzulesen.
3) RUN betätigen, vorläufig geschieht
nichts! START betätigen, das Pro-
gramm normal ab, es beginnt mit
läuft
der Adresse in PC. Wird HALT während
des Programmablaufs betätigt, so wird
*
der gerade laufende Zyklus abgewickelt,
dann geht das Mikroprogramm in den
Wartezyklus.
Aus dem Flußdiagramm ist außerdem
ersichtlich, daß im Fall 3) eine Betäti-
gung von SINGLE STEP anstatt
START die gleiche Wirkung hat. Falls
dies unerwünscht sein sollte, so läßt es
sich durch geschickte Wahl und Kopp-
lung der Drucktasten vermeiden.
Wenn auch SRCENB und DSTENB
mittels LED’s angezeigt werden, lassen
sich Fehler im Programm leichter ver-
folgen, besonders dann,wenn der Com-
puter mitten in einem Zyklus "hängen
bleibt”. Das kann geschehen, wenn der
Computer versucht, eine nicht be-
stehende Funktionseinheit auszu-
wählen, und anschließend auf SRCRDY
oder DSTRDY wartet. Die SRCREG-
und DSTREG-Displays lassen dann er-
kennen, welche Einheit ausgewählt
1) wurde.

HALT
Die Funktionseinheit "HALT” ist nicht
hundertprozentig dem Paneel zuzu-
ordnen, es besteht aber eine direkte
Verbindung mit der zentralen Steuer-
einheit. "HALT” dient ausschließlich
als SRC, von dieser Einheit wird ein
RESET-Signal erzeugt. Dieses Signal
löst drei Dinge aus: Es setzt das HLTFF
in den HALT-Zustand; bewirkt Reset
der SRC- und DST-Flipflops, welche
oder einfacher, durch Invertieren des lichnoch vier Tastenschalter mit den die Ausgänge der SRC- und DST-Buffer
Signals. Soll die Schaltung auf positiv Funktionen "HALT", ”RUN”, steuern; ferner erfolgt Reset der Adres-
gerichtete Impulse ansprechen (anstatt "START” und "SINGLE STEP”. senzähler des ROM, damit wird das Mi-
auf negativ gerichtete), so ist das NAND HALT und RUN steuern eine LED, die kroprogramm in den Haltzyklus ver-
gegen ein AND und das OR gegen ein den Zustand des HALT-Flipflops an- setzt. Das ist der Ruhezustand des Com-

NOR auszutauschen. Mit Hilfe der Drucktaster kann


zeigt. puters.
Arbeitet das in Bild 1 1 gezeigte SR mit der Computer auf drei verschiedene Die Schaltung der Funktionseinheit
der Funktion SRC, so öffnet es eine Arten in Betrieb gesetzt werden (vergl. HALT ist in Bild 15 angegeben. Der
Anzahl von Leistungs-NAND’s mit offe- dazu auch Flußdiagramm, Teil I): Ausgang von HALT, die Reset-Leitung,
nem Kollektor, sie übertragen die Schal- Taster HALT betätigen; die Schalter ist auch "von außen zugänglich”. Sie

terstellungen (invertiert!) auf die von SRCREG, DSTREG und SR ein- kann über einen Drucktaster (General
DATA-Leitungen. Bei SR als DST stellen und dann START betätigen. Reset) über ein Verzögerungsglied oder
(Bild 12) dient die positiv gerichtete Es läuft ein Zyklus ab, beide Register unverzögert mit der Speisespannung
Impulsflanke, die das RS-Flipflop setzt, werden gebraucht, um SRC und DST verbunden werden. Auf diese Weise
gleichzeitig auch dazu, die Informatio- zu bestimmen. entsteht automatisch ein Reset-Signal,
nen auf den DATA-Leitungen in den Auf diese Weise können Instruktionen
wenn der Computer eingeschaltet wird.
Zwischenspeicher für das Display ein- "von Hand” ausgeführt werden. Dieser
zutakten. Arbeitsgang wird auch benutzt, um die Nummerierung der Einheiten
Auf dem Paneel befinden sich schließ- Anfangsadresse in PC einzubringen. Bei der Auslegung des Computers wur-

10-38 Elektor Oktober 1974


Bild 12: Das Switch-Register als DST.
Die
e des Zustände auf den DATA-Leitungen werden
REG erst vom Display angezeigt, wenn dieses Re-
; An- gister als DST durch die zentrale Steuerein-
heit angewiesen wird.

P be-
Bild 13: Device Select (DEVSEL) wird in
iinen
verschiedenen Schaltbildern als ein Block an-
mms gegeben (Bilder 11, 12, 15). Der so bezeich-
und net» Block enthält dann die hier gezeigte
’aten Schaltung.

lieht Bild 14: Prinzip des Flankendetektors,


wie
Pro- es bei DEVSEL angewendet wird. Das Im-
pulsdiagramm zeigt, daß nur dann ein Aus-
:mit
gangsimpuls erscheint, wenn der Eingang
rend
von "0" auf "1" geht.
wird
kelt, Bild 15: HALT ist auch eine "periphere"
den Einheit. Sie wird ausschließlich als SRC an-
gewiesen und verursacht dann ein Reset-
Signal für die HLT-, SRC- und DST-Flipflops
dem
sowie für den Adressenzähler im ROM.
täti-

;tatt
?
alls
>t es
>PP-

NB®
;sen
Die Erklärungen der in den Bildern
ver- 11, 12
und 15 verwendeten Abkürzungen erfolgt
)m-
im nächsten Artikel.
gen
der
be- HLSSL1
zu-
DY
IG-
er-
hlt

:ht
su-
:te
er-
ch
in

Sie
de ein ”Standard-Satz” von Adressen Funktionen mit Hilfe von "arithmetic
er registern oder Funktionseinheiten wie
für die Funktionseinheiten reserviert. logic units” (ALU’s) des Typs Multiplizieren, Dividieren, Halt, Stack
!S-
Dabei hängt es vom vorgesehenen Aus- SN 74 1 8 1 ausführen kann. In der
ti- Funk- und Indirekt. Auf diese Einheiten wird
bauzustand des Computers ab, ob wirk- tionsbeschreibung sind
T- ”+”und die später eingegangen.
lich alle Adressen nötig sind. Ausgangs-
n-
logische OR- und AND-Funktion,”
punkt ist ein Computer mit 1 2 SRC-, ist die invertierte Form und ”x” die Mechanische Konstruktion
12 DST- und 12 DATA-Linien, damit Exclusiv-OR-Funktion.
it ”Plus” und Obwohl der mechanische Aufbau auf
können 4096 verschiedene Einheiten "minus” sind die arithmetischen Ar-
iT
als SRC und als DST adressiert werden.
unterschiedliche Arten möglich ist, fällt
7
beitsgänge Addieren und Subtrahieren.
Ot stets eine Tatsache besonders auf: Alle
Vorgesehen ist ein Speicher mit einer Die letzten sechs bits der Adresse sind
;e Einheiten sind mittels einer großen An-
Kapazität von 1 k (= 1024) Wörtern zu faktisch die (ggf. invertierten) Befehle
ii zahl durchlaufender Drähte unterein-
12 bit, erweiterungsfähig auf 4k — 64 für die jSteuereingänge M, C n S 3 S 2 ander verbunden: Bezeichnung BUS.
(= 4096 — 64) =4032 Wörter zu 1 2 bit.
, , ,
si und So des 74 181. Dieletzte Adres- Damit bietet sich im Prinzip die Mög-
Die letzten 64 Adressen sind anderen
e
Einheiten zugeordnet, sie sind in Ta-
se (1 1 l.)000.000 lautet somit:
1.1 1 = M lichkeit an, jede Funktionseinheit steck-
I,
”0”,Cn=”0”,S 3 = S 2 =Si = S 0 = ”1” bar zu gestalten und für jede Platine
belle I aufgelistet. (invertiert!), das entspricht der Funk- eine Kontaktleiste mit der entsprechen-
In dieser Tabelle gehören alle Adressen tion F: = a minus 1, oder in diesem den Anzahl von Kontakten vorzusehea
zwischen 7757 und 7700 zu einer Ein- Fall: RR: = RR minus 1. Wegen der großen Anzahl der benötig-
heit, die 48 (oktal 60) verschiedene Die übrigen Adressen gehören zu .Hilfs- ten Kontaktleisten wird die ganze An-

Elektor Oktober 1974


10-39
Bild 16: Vorschlag für die Ausführung des
gelegenheit aber nicht ganz billig, des-
mechanischen Auf baus. halb wurde nach einer anderen Lösung
gesucht. Sie ist in Bild 16 dargestellt,
hier sind die Platinen mit Hilfe von
Scharnieren aneinander befestigt, etwa
wie die Seiten eines Buches. Die BUS-
P1PTO1P
VBBw Leitungen befinden sich an der Rücken-
kante dieses "Buches”, die Leitungen
haben ausreichend Spielraum, so daß
IPpnMi
WWWW a man die "Seiten” des "Buches” um-
blättem kann.

wsmüT a Als Platinen wurden handelsübliche


Ausführungen mit 60 Kupferbahnen im
Abstand von 0,1 Zoll (2,54 mm) ver-
v

L|^J wendet, die Bohrungen weisen den glei-


IfgpJ
chen Abstand auf. Entlang eines Randes
Durchgehende
LeitungenC'BUS"; entfallen die Bohrungen, die "glatten” fr

Leiterbahnstreifen dienen als Gegen-


kontakte für eine aufschiebbare Kon-
taktleiste, über die Verbindungen nach
"außen” (z.B. zum Bedienungspaneel)
hergestellt werden. Die restlichen Kup-
ferbahnen sind durch Unterbrechungen
so aufgeteilt, daß sich DIL-IC’s mon-
werden keine fertigen
tieren lassen. Es
IC-Fassungen verwendet, sondern die
im Handel erhältlichen Kontakte in
Streifenform ("Gabelfederkontakte”,
neuerdings auch vergoldet). Die Ver-
drahtung verläuft auf der Bestückungs-
seite, sie wird zwischen den IC-Füßen
hindurchgeführt, so daß nur an der hin-
teren Kante gelötet wird.

Zusammenfassung
In den voraufgegangenen Abschnitten
wurde das Herz des Computers, die
zentrale Steuereinheit beschrieben. Sie
arbeitet wie eine Telefonzentrale, die
zwei Einheiten miteinander verbindet.
Dabei liefert eine Einheit Daten an die
andere. Jede Einheit hat eine spezifi-
sche Funktion, ein Addierer zählt Zah-
len zusammen, ein Speicher dient dazu,
Informationen aufzubewahren, damit
sie jederzeit wieder verfügbar sind, usw.
Der Benutzer des Computers, der Pro-
grammierer, bestimmt, welche Einhei-
ten miteinander in Verbindung treten
müssen. Er erstellt eine Liste mit den
Einheiten-Nummern, wobei jeweils
zwei zusammengehören. Diese Liste,
das Programm, gibt er in den Speicher
ein, er "sagt” dann dem Computer, wo
das Programm zu finden ist. Das heißt:
Der Benutzer gibt die Speicheradresse
des Programmbeginns in den Pro-
grammzähler ein.
Wird nun der Computer gestartet, so er-
fährt die zentrale Steuereinheit durch
Abfrage des Programmzählers, womit
siebeginnen soll. Dann liest die Steuer-
einheit jedesmal zwei Adressen aus dem
Speicher aus und weist die beiden zu-
|l
gehörigen Einheiten als Kommunika-
tionspartner an. Alsdann läuft das Pro-
gramm ab, bis die zentrale Steuereinheit
ein HALT ausliest und zur Ausführung
bringt. Das Programm stoppt, der Be-
nutzer kann den Computer erneut mit

10-40 Elektor Oktober 1974


11

Aufgaben befassen.
In den vorangegangenen Abschnitten
Tabelle I

wurden alle Baugruppen behandelt, die


Steuerungsaufgaben zu erfüllen haben,
die alsodem Benutzer den "Zugang”
zum Computer verschaffen. Die zentra-
Binäre Adresse oktal Abkz. Funktion
le Steuerung ist als "Hardware-
Programm” ausgeführt, das hat übrigens
nichts mit dem Anwender-Programm 111 111 111 111 7777 HL halt

zu tun. Letzteres steht in den Spei- 111 111 111 110 7776 PC program counter (Programm-Zähler)
während das erstgenannte, das 111 111 111 101 7775 SP stack pointer
chern,
111 111 111 100 7774 SR switch register und display
Mikroprogramm, unauswechselbar und
111 111 111 011 7773 DE destination indirekt register
Dioden-Matrix
fest verdrahtet, aus einer
111 111 111 010 7772 SC source indirekt register
besteht. Zwischenspeicher: Die Buffer ST stack
111 111 1 1 1 001 7771
(eine Art Privat-Speicher für die Steue- 1 1 1 1 1 1 1 1 1 000 7770 ID indirekt
rung), werden von der Steuereinheit be- 111 111 110 111 7767 R2 Multiplizier-/Dividierregister
nutzt, um alle Adressen zum richtigen 111 111 110 110 7766 GL Gleichheitsregister
Zeitpunkt an den richtigen Platz steu- 111 111 110 101 7765
ern zu können. 111 111 110 100 7764 CO carry out register
7763 RI Rechenregister
Der Benutzer hat die Möglichkeit, mit 111 111 110 011 1

110010 7762 RO Rechenregister 0


Hilfe von Drucktastem am Bedie-
vier 111 111

nungspaneel einen bestimmten Weg 111 111 110001 7761 DL Dividieren


111 111 110 000 7760 VM Multiplizieren
durch das Mikroprogramm von außen 7757 RR: = -RR (RR = RI und RO)
111 111 101 111
einzustellen. Eine dieser Möglichkeiten 7756 NOR RR: = -(RR + DATA)
111 111 101 110
ist SINGLE STEP, dann wird das Be- 111 111 101 101 7755 RR: = -RR. DATA
nutzer-Programm Schritt für Schritt ab- 111 111 101 100 7754 ZRO RR: = 0
gearbeitet. 111 111 101 011 7753 NND RR: = -(RR. DATA)
= -DATA
In einem anderen Fall, HALT/START, 111 111 101 010 7752 NOT RR:
sucht das Programm die Adressen von 111 111 101 001 7751 XOR RR: = RR*DATA (exclusive or)

111 111 101 000 7750 MSK RR: = RR. -DATA


SRC und DST nicht im Speicher, son- RR: = -RR + DATA
111 111 100 111 7747
dern fragt sie an den Schaltern am Pa- = — (RR*DATA) not exclusive or)
111 111 100 110 7746 NXR RR:
neel (SRCREG und DST REG) ab. So- 7745 RR RR: = DATA (gleich RO)
111 111 100 101
mit kann ein SRC und DST von Hand 111 111 100 100 7744 AND RR: = RR. DATA
angewiesen werden. Da am Paneel noch 111 111 100 011 7743 ONE RR: = 1

eine Reihe von Schaltern vorhanden ist, 111 111 100 010 7742 RR: = RR + -DATA
die als SRC programmiert werden kön- 111 111 100 001 7741 OR RR: = RR + DATA
nen (Switch Register), lassen sich von 111 111 100 000 7740 RR: = RR
111 111 011 111 7737 INC RR: = RR plus 1
Hand Daten eingeben und zu allen Ein- = (RR + DATA) plus 1
111 111 011 110 7736 RR:
heiten übertragen, die die Steuereinheit = (RR + -DATA) plus
111 111 011 101 7735 RR: 1
als DST anweisen kann. Eine dieser Ein- ZRO RR: = zero
111 111 011 100 7734
heiten ist der Programm-Zähler, der 111 111 011 011 7733 RR: = RR plus (RR. -DATA) plus 1
sich über diesen Weg auf die Start- 111 111 011 010 7732 RR: = (RR + DATA) plus (RR. -DATA)
adresse des Anwender-Programms ein- plus 1

stellen läßt. Auch das Programm selbst 1 1 1 1 1 1 01 1 001 7731 AF RR: = RR minus DATA
kann auf diese Weise eingespeichert 1 1 1 1 1 1 01 1 000 7730 RR: RR. -DATA
werden. 111 111 010 111 7727 RR: = RR plus (RR. DATA) plus 1

111 111 010 110 7726 RR: = RR plus DATA plus 1


Das ”Herz” des Computers wird von DATA)
111 111 010 101 7725 RR: = (RR + -DATA) plus (RR.
den folgenden Baugruppen gebildet: plus 1
Read-Only-Memory (ROM) mit ROM- RR: = RR. DATA
111 111 010 100 7724
Steuerung (Mikro-Programm und zen- 111 111 010011 7723 RR: = RR plus RR plus 1

trale Steuerung) 111 111 010010 7722 RR: = (RR + DATA) plus RR plus 1

Buffer-Gruppen (Privat-Speicher) 111 111 010 001 7721 RR: = (RR + -DATA) plus RR plus 1
Sourceregister und Display (von Hand 111 1 1 1 01 0 000 7720 RR: = RR
SRC anbieten; SRC auslesen) 1 1 1 1 1 1 001 1 1 7717 RR: = RR
7716 RR: = RR + DATA
Destination-Register und Display (von 111 111 001 110
111 001 101 7715 RR: = RR + -DATA
Hand DST anbieten; DST auslesen) 111
= minus 1 (2er complement)
111 111 001 100 7714 MIN RR:
HALT (stoppt die Ausführung eines
7713 RR: = RR plus (RR. -DATA)
111 1 1 1 001 011
Programms). 7712 RR: = (RR + DATA) plus (RR. -DATA)
111 111 001 010
Im Grunde genommen gehört das
111 111 001 001 7711 RR: = RR minus DATA minus 1
Switch-Register nicht in diese Aufzäh- 1 1 1 1 1 1 001 000 7710 RR: = (RR. —DATA) minus 1
lung: esist eine vollständige periphere 1 1 1 1 1 1 000 1 1 7707 RR: = RR plus (RR. DATA)
Einheit (Schalter als SRC, Display als 111 111 000110 7706 OP RR: = RR plus DATA
111 111 000 101 7??5 RR: = (RR + -DATA) plus (RR. DATA)
111 111 000 100 7704 RR: = (RR. DATA) minus 1
1 1 1 1 1 1 000 01 7703 ROT RR: = RR plus RR (Schiebe 1 nach links)
Tabelle I: Adressenzuteilung für alle peri-
111 111 000 010 7702 RR: = (RR + DATA) plus RR
pheren Einheiten, ausgenommen Speicher.
111 1 1 1 000 001 7701 RR: = (RR + -DATA) plus RR
Die Adressen 7757 ... 7700 sind alle der
111 111 000 000 7700 DEC RR: = RR minus 1
mit ALU's aufgebauten Recheneinheit zuge-
ordnet, sie führt die zugehörige Funktion
abhängig von der verwendeten Adresse aus.

10-41
Elektor Oktober 1974
1

DST). Auch HALT ist wenigstens zum Die Recheneinheit kann die folgen- gestapelt werden. Wird ein DATA-Wort
Teil eine periphere Einheit, weil es auf den Funktionen ausführen: Addition, in einen solchen Speicher eingegeben,
die programmierte Weise von SRC Subtraktion, Multiplikation und Divi- so schieben alle anderen Wörter um
”angerufen” wird. Es greift aber direkt sion, Inkrement und Dekrement; einen Platz weiter. Beim Auslesen ist
in den Ablauf des Mikroprogramms ein außerdem verschiedene logische Funk- nur das zuletzt eingegebene Wort er-
und steht somit .”in der Nähe” der zen- tionen wie AND, OR, NAND, NOR, reichbar, worauf der Rest dann nach-
tralen Steuerung. NOT, MASK, EX-OR usw. STACK schiebt. Ein solches STACK weist große
und STACK pointer, womit sich auf Vorteile bei verschiedenen Program-
Die nächsten Themen einfache Weise ein Stack (”Push down mierschritten auf.
In weiteren Abschnitten werden nach- list”; FILO = First in — Last out Indirektregister werden benötigt, um
folgende peripheren Einheiten behan- Speicher) programmieren läßt. Adressen von SRC und DST nicht di-
delt: Ein STACK ist ein Stapelspeicher, des- rekt,sondern indirekt zu programmie- 1

Programm-Zähler, Speicher, 1 parallele sen Wirkungsweise etwa einem Behälter ren.


Recheneinheit (12 bit). entspricht, in dem vier Parkgroschen (Wird fortgesetzt)

Deutsche Amerikanische Neuer

o
Norm Norm Vorschlag Bedeutung
Mühsame Identifikation der Gatter?
— - AND. Ausgang wird "1", wenn
In den Schaltbildern zu "Computer 74"
hi alle Eingänge "1" sind.
werden für die Gatter andere Symbole
verwendet, als sie bislang in Elektor ver-
wendet wurden. Diese Symbole entstam-
men einem Vorschlag für eine neue Norm,
sie wurden hier gewählt, weil sie viel
deutlicher angeben, welche Funktion ein
bestimmtes Gatter ausübt. Die Zeichen
innerhalb der viereckigen Kästchen geben
m- o -
-
OR. Ausgang wird "1", wenn
Eingang
"1" sind.
oder mehrere Eingänge

Exclusiv-OR (EX-OR), Ausgang


wird "1" wenn ausschließlich nur
ein

an, wieviele Eingänge des Gatters "1"


sein müssen, damit auch der Ausgang "1"
t>- =)D- ein Eingang "1" ist.

ist.

In nebenstehender Aufstellung sind die Ein kleiner Kreis an einem Ein-


Symbole nach deutscher und amerikani- oder Ausgang gibt an, daß das zu-
scher Norm zusammen mit den Symbolen
• o o
gehörige Signal invertiert ist. Bei-
entsprechend dem neuen Normvorschlag spiele:
nebeneinander aufgeführt zusammen mit
einer kurzen Erläuterung.
Der aufmerksame Leser wird zudem in INVERTER. Der Ausgang wird
einigen Schaltbildern
decken, die
"Gatter"
in dieser
ent-
Form nicht als IC's
-O “O0- -dF "0", wenn der Eingang "1" ist.

erhältlich sind. Sie lassen sich aber trotz-


dem ziemlich einfach zusammenstellen.
Als Beispiel wird unten ein AND-Gatter
mit zwölf Eingängen gezeigt, das entwe-
der aus einer Anzahl von NAND's und
D- io NAND. Ausgang
alle
wird "0" wenn
Eingänge "1" sind.

Invertern besteht, oder über Eingangser-


weiterung mittels zwölf Germaniumdio- i A D-Flipflop. Es reagiert auf einen
preset preset
den aufzubauen ist. In den Schaltbildern — clear Q — —C_ preset
clear . Q “
-c lear Q positiven Taktimpuls "1", aber
ist dann nur das auf der linken Seite ge-

zeigte Symbol zu finden. ° clock


° —D clock
Q )
clock
Q D— auf ein Preset- und Clearsignal das
"0" ist. Beispiel: 7474.
1
1

7430 +Ub

1/4 7400
1/6 7404
f

1/6 7404
1/2 7420

10-42 Elektor Oktober 1974


• : : ; ;

verbunden, oder anders gesagt: der


Inhalt des Speicherplatzes 0016
(=0200) wird in den PC eingelesen.

1M)$ Nach Ausführung dieser Instruktion


steht der PC also auf 0200. Die nach-
folgende
0200
"Instruktion”
&
wird auf
020 1 aus dem Speicher ausge-
lesen.
Selbstverständlich wird der PC als DST
nicht um eins erhöht. Die Arbeitsweise
des PC in Kurzform
als SRC
— warten bis SRC :=7776; (:= bedeu-
tet "wird”),
— SRCENB
U U J.T.W. Damen —
warten bis
Zählerinhalt
:= 1;
auf DATA-Leitungen
cpf?pn
— mache SRCRDY = 1;
— warten bis SRCENB :=0;
Die ersten drei Teile des Artikels die SRC-Leitungen gesetzt und wird — mache SRCRDY = 0 (und mache die
anschließend SRCENB 1 dann muß der DATA-Leitungen wieder frei);
behandelten das "Herz" des ,

PC das detektieren. Der Inhalt des — erhöhe den Zähler um eins,


Computers, die zentrale Steuer- Zählers gelangt auf die DATA-Lei- und als DST
einheit. Im vorliegenden und in tungen anschließend: SRCRDY = 10. — warte bis DST :=7776;
den folgenden Teilen ist eine Dieser Zustand bleibt aufrecht erhalten — warte bis DSTENB := 1

Anzahl "peripherer Einheiten" bis der PC feststellt, daß SRCENB — setze die auf den DATA-Leitungen
wieder 0 wird. Dann läßt der PC auch vorhandene Information in den
an der Reihe.
SRCRDY auch wieder auf 0 gehen Zähler;
Zunächst werden Programm- und unmittelbar anschließend wird der — mache DSTRDY = 1
zähler und Speicher besprochen. Zähler um eins erhöht. Die Funktion — warte bis DSTENB := 0; j

Der Programmzähler ist ein des PC als SRC ist damit vollendet. — mache DSTRDY = 0.
Zähler, der die Programmschritte Der PC kann aber nicht nur als SRC Auch im Programm kann der PC als

"anwählt". Für die Ausführung


angerufen werden, sondern auch als DST angerufen werden (das ist nicht
DST, somit läßt sich der Inhalt ver- das Privileg der zentralen Steuerein-
des Speichers bestehen zwei ändern. Auf diese Weise ist es möglich, heit!). Dann ist aber zu beachten, daß
Möglichkeiten: Eine verhältnis- einen Sprung im laufenden Programm der PC nach Ausführung der Instruk
mäßig preiswerte Lösung mit auszuführen, Beispiel: tion einen Speicherplatz Überschläge
dynamischen Schieberegistern,
oder eine teurere - aber viel
schnellere - mit Random Acces Speicher- Name der Inhalts-
Memories (RAM's). Adresse Inhalt Speicher-Adresse bezeichnung Bemerkungen
.0012 Programm
0013
0014 0016 S (SRC)
0015 7776 PC (DST)
0016 0200 s. SPRUNG Inhalt von S ist die
Sprungadresse
0200 SPRUNG Programmsprung zur
0201 Speicher-Adresse 0015

Hat die zentrale Steuereinheit die aus hat. Denn: Die zentrale Steuereinheit
SRC & DST bestehende "Instruktion” liestzweimal den PC, dann weist dieser
Der Programmzähler (PC) das nächste Speicherwort an. Erst dann
der Speicherplätze 0014 und 0015
Wie bereits in den vorangegangenen gelesen, so steht der PC auf 0016. Wird wird die Instruktion ausgeführt,
Abschnitten mehrfach erwähnt, weist zufolge der der Speicher wieder gelesen
anschließend die "Instruktion” ausge-
der Programmzähler (PC) immer die und um Wort erhöht wird. Beispiel:
führt, so wird SRC ”S” mit DST "PC” ein
nächstfolgende "Instruktion” an, wenn
der Computer ein Programm abarbeitet.
Es handelt sich hier um einen Zähler, Speicher- Name der Inhalts-
der stets automatisch einen Schritt Adresse Inhalt Speicher-Adresse bezeichnung Bemerkungen
weiterzählt, wenn die zentrale Steuer-
ein heit ein Wort aus dem Speicher 0012 7776 PC (SRC)
gelesen hat. Als vollwertige periphere 0013 0017 HELP (DST)
Einheit muß der PC die richtigen Ant- 0014 wird überschlagen
worten auf die Signale von der zen- 0015 (SRC)
0016 (DST)
Das bedeu-
tralen Steuereinheit geben.
0017 0000 HELP, 0
tetim einzelnen:
Wird die Adresse des PC (= 7776) auf

11-56 Elektor November 1974


Nach Ausführung der Instruktion auf
den Speicherplätzen 0010 & 0011 ist 17
der Inhalt des PC 0012. Der Computer PCSSEL
liest die folgende Instruktion (auf
0012 & 0013), wonach der PC auf
0014 steht. Dann wird die Instruktion
ausgeführt Der Inhalt des PC (=00 1 4)
:

wird auf Speicherplatz 0017 ("Hilfe”)


transportiert. Das Resultat:
Inhalt PC = 0015
Inhalt "Hilfe” (0017) = 0014.
Speicherplatz 0014 wird überschlagen,
er kann für andere Zwecke benutzt
werden.
Dieser Ablauf kann bei Subroutine-
Sprüngen nützlich sein, die vielleicht
später an die Reihe kommen sollen
(Subroutine ist ein Programmteil, los-
gelöst vom Rest, das an jedem beliebi-
gen Platz innerhalb des Programms
"zwischenzeitlich” abgewickelt wer-
den kann). Auch die unmittelbar auf
eine Instruktion folgende Eingabe
einer Konstanten oder einer Zahl kann
damit ausgeführt werden (sog. unmit-
telbare Instruktion; immediate instruc-
tion).

Die Schaltung
Wie jede periphere Einheit ist auch der

PC mit einer ADRESSENAUSWAHL-


Schaltung versehen, einer für SRC und
einer für DST. Diese Schaltung wurde
bereits beim Switch-Register (siehe
dazu Bilder 11 und 12) besprochen.
.

Die Adressen-Auswahl detektiert, daß


der PC angerufen wird. Das Herz des
PC wird vom Zähler gebildet, er be-
steht aus drei SN 74161 (Bild 17).
Diese IC’s zählen bei Steuerung über
den Takteingang CK (Clock) in üblicher
Weise, es kann aber auch über Parallel-
Eingänge (A, B, C, D) wülkürlich auf
einen Zählerstand gesetzt werden
(Load-Eingang L). Vergleich hierzu:
der Adressenzähler bei dem ROM.
Steht die Adresse 7776 (PC) auf den
SRC-Leitungen und wird SRCENB 1,
dann werden über DEVice SELect die
zwölf Gatter (SN 7438) geöffnet, da-
mit gelangt; der Zählerinhalt auf die
DATA-Leitungen. SRCRDY wird
durch das Funktionsflipflop in
DEVSEL geliefert. Dieses Flipflop
wird zurückgesetzt, wenn SRCENB
3xSN74161 3xSN7438
"abfällt”, daraufhin werden die Aus-
gangsgatter wieder gesperrt. Die nega-
tive Flanke am Ausgang des Funktions- vorhandene Information wird in den Bild 17. Schematische Darstellung des Pro-

flipflops wird in einen negativen Zähler übernommen. DSTRDY wird grammzählers (PC). Dabei handelt es sich um
Impuls umgesetzt (siehe Bild 14), die- aktiviert und nachdem DSTENB 0 ge- einen Zähler, der den Platz im Programm
worden ist, wird auch DSTRDY wieder angibt. Wird er als SRC angewiesen, so wird
ser wird dem Takteingang des Zählers
0. Es erscheint nun kein Taktsignal am der Zählerinhalt auf die DATA-Leitungen
zugeführt. Der Zählerinhalt wird damit
gesetzt; sobald SRCENB abfällt, wird der
um eins erhöht und somit ist seine CK-Eingang.
der Zählerinhalt automatisch um eins erhöht.
Aufgabe erfüllt.
Wird er als DST angewiesen, so werden die
Die Adresse von PC auf DST wird Der Speicher des Computers Informationen auf den DATA-Leitungen als
durch die DST-Adressenauswahl er- Ein Computer ohne Speicher ist wie neuer Zählerinhalt übernommen, weil ein
kannt und wieder über eine DEVSEL- ein Amateurkoch der kein Kochbuch "LOAD"-Befehl gegeben wird. Auf diese
Schaltung in ein "Load”-Signal über- besitzt. Der Koch benötigt die Rezepte Weise sind Sprünge innerhalb des Programms
setzt. Die auf den DATA-Leitungen um seine Künste zu einem guten Ende möglich.

Elektor November 1974 11-57


-

Folge, sie sind dort auslesbar. Neue


18 Informationen können über die Weiche
am Eingang eingegeben werden
TAKT (Bild 18). Soll ein bit geändert werden,
so wird abgewartet, bis es am Ausgang
DATA i DATA
| |
erscheint. Bevor es wieder in den Kreis-
SCHIEBEREGISTER 1024 BIT lauf gelangt, wird die Weiche umge-
o"*— J

legt und die neue Information tritt an


WEiCHE
die Stelle der alten Information. Wird
die Weiche nun wieder umgelegt, so
ist die neue Information eingespeichert.
Auf diese Weise entsteht ein Speicher
für 1024 Wörter zu 1 bit. Werden zwölf
solcher Schaltungen gleichzeitig gesteu-
ert, so sind stets 12 bit gleichzeitig
verfügbar. Es ergibt sich somit ein Spei-
cher für 1024 Wörter zu 12 bit. Mit
n Schieberegistern läßt sich also ein
Speicher für 1 024 Wörter zu n bit auf-
bauen. Wie ist ein solcher Speicher nun
zu adressieren?
Zuvor aber etwas prinzipielles über ein
Schieberegister. Das Register wird
durch ein Taktsignal gesteuert, in Wirk-
lichkeit sind es zwei Taktsignale, aber
darüber später mehr. Jedesmal wenn der
Taktimpuls von 1 auf 0 geht (negative
Flanke), werden alle 1024 bit um einen
Platz weitergeschoben, somit erscheint
auch bei jedem Taktimpuls ein neues
Wort am Ausgang, d.h., bei einem
einzigen Schieberegister ist das ein
"Wort” zu 1 bit. Beim nächsten Takt-
impuls,und zwar beim Übergang von 0
nach 1 (positive Flanke) wird die am
Registereingang stehende Information
in das Register "eingetaktet”. An-
schließend wiederholt sich das Spiel.
Dieser Zyklus ist in Bild 19 in Form
eines Impulsdiagramms dargestellt, da-
bei bleibt der "Zählerstand” außerhalb
der Betrachtung. Der Taktimpuls be-
Die zweite - teurere Version - läßt sich
zu führen, der Computer findet die steht in Wirklichkeit aus zwei sich über-
auszuführenden Arbeitsgänge im Spei- viel einfacher aufbauen. lappenden Impulsfolgen, Takt 1 und
cher in Form von Instruktionen auf- Bei der ersten Ausführung handelt es Takt 2. Im "Innenleben” des 1404 A
gelistet. Der Amateurkoch kann not- sich um einen Schieberegister-Speicher, wirken sich die beiden Impulsfolgen
falls die Hilfe seiner Frau in Anspruch die zweite ist mit Random-Access- so aus, wie der in Bild 19 (oben)
nehmen, um den nächsten ’Trogramm- Memories (RAM’s) aufgebaut, verwen- gezeichnete Taktimpuls.
schritt” zu Ein Computer
erfahren. det werden Intel-IC’s Typ 2 102. (RAM Das 1404 A ist ein dynamisches Schie-
könnte beispielsweise einen Cassetten- bedeutet: Speicher mit wahlfreiem beregister, das heißt: die Information
rekorder einschalten, um die auf dem Zugriff). wird als Ladung von internen Kapazitä-
Band gespeicherten Instruktionen ten gespeichert. Diese Ladung muß
abzufragen. Legt man aber Wert auf Schieberegister innerhalb einer ganz bestimmten Zeit-
eine flotte Arbeitsweise, so ist für den Dynamische 1024 bit-Schieberegister dauer "nachgefüllt” werden. Bleiben
Computer ein Speicher unentbehrlich! werden von verschiedenen Firmen die Taktimpulse länger als etwa 10 ms
Als Speicher für den Computer 74 angeboten (u.a. von Intel und National aus, so leckt soviel Ladung aus den
wurden integrierte MOS-Schaltkreise Semiconductors), relativ preiswert ist Kapazitäten heraus, daß die Informa-
gewählt. Zwar bestehen auch andere der Typ 1404 A. Mit zwölf dieser tion verlorengeht. Der Taktgenerator
Möglichkeiten, sie erfordern aber zu- MOS-IC’s läßt sich ein Speicher von darf daher nicht gestoppt werden, die
meist einen solchen Aufwand, der die 1 k Wörtern zu 12 bit aufbauen (k be- Informationen müssen ständig "krei-
Angelegenheit stark verteuert. Außer- deutet bei Computer-Speichern: 1024). sen”.
dem spielt die Beschaffungsfrage eine Die Arbeitsweise eines Schieberegisters Zum Adressieren ist ein Zähler erforder-
nicht unwesentliche Rolle. Damit soll ist ziemlich einfach zu erklären: Der lich, der die Taktimpulse für das Schie-
aber keinesfalls gesagt werden, daß Eingang ist über eine "Weiche” mit beregister zählt. Der Zähler wird zu
fortschrittliche Speichersysteme nicht dem Ausgang verbunden. Ist das einem bestimmten Zeitpunkt auf 0 ge-
verwendbar sind! Schieberegister als Ringzähler geschal- setzt, und von diesem Augenblick an
Hier werden zwei Speichersysteme tet, dann kreist die eingespeicherte darf der Zählvorgang nicht mehr unter-
behandelt, die erste - preiswertere Information im Register. Alle bits brochen werden. Das bit oder das Wort,
Version - wird ausführlich beschrieben. passieren den Ausgang in serieller das in diesem Moment am Ausgang

11-58 Elektor November 1974


1

Bild 18. Das Prinzip eines Schieberegister-


Speichers. Bei jedem Taktimpuls wird der
Speicherinhalt eine Stelle weitergeschoben,
20 TAKT
so daß der nächste "Speicherplatz" am
Ausgang erscheint.

Bild 19. Das Impulsdiagramm eines rück


gekoppelten Schieberegisters.

Bild 20. Das vollständige Prinzipschaltbild


eines 1 k X 12 bit Speichers. Links oben

die Adressenauswahl für den Speicher, in der


Mitte die Adressenauswahl für den Speicher-
platz, rechts oben die Steuerung und unten
der Speicher mit den Ein- und Ausgangs-
buffern.

vorhanden ist, erhält die Adresse 0, der Schwierigkeiten bei solchen Spei- oder das Eintakten zum richtigen Zeit-
das nächstfolgende die Adresse 1 ,
usw. chern besteht in der ziemlich kleinen punkt erfolgt. Dafür ist aber Sorge zu
Der Zähler muß bis 1024 zählen, es Zeitspanne, während der die Weichen tragen, eine Adresse muß mindestens
handelt sich also um einen 10 bit- umgelegt werden können und während während der gesamten Dauer des Takt-
Zähler. der die neue Information bereitstehen impulses vorhanden sein (Taktimpuls-
Das Adressieren des Speichers geht so muß. Diese Zeitspanne ist in Bild 19 dauer = Zählerstand), bevor zum Lesen
vor sich: Die angebotene Adresse des- durch Schraffur gekennzeichnet. Die oder Schreiben übergegangen wird. Die
jenigen Wortes, das ausgelesen oder Weichen werden mit TTL-IC’s aufge- vollständige Schaltung (Bild 20) zeigt,
verändert werden soll, wird mit dem baut (AND-OR-INVERTER SN 7450 wie sich der Vorgang in der Praxis ab-
Zählerstand verglichen. Sowie Überein- oder SN 7451), sie sind beträchtlich spielt.
stimmung herrscht, ist das betreffende schneller als die relativ langsamen MOS- Es sind zwei Eingangs-AND’s vorhan-
Wort am Ausgang verfügbar. Soll das Schieberegister. Die angegebene Zeit- den, eins für SRC und eins für DST. Sie
Wort gelesen werden, so wird es in einen spanne entspricht der Dauer eines Takt- stellen die Eingänge für die zwei ”most
Ausgangsspeicher eingegeben (D-Flip- impulses, als Mindestforderung gelten significant bits” der Adresse dar: für
flops), von dort aus kann es auf die hier 170 ns. Während dieser Zeit kann SRC 1 1 und SRC 10, bzw. für DST 1
DATA-Leitungen gesetzt werden. Soll TTL eine ganze Menge Dinge tun. und DST 10. Unter ”most significant
das Wort geändert werden (bei einem Ein etwas schwierigerer Punkt ist die bits” sind diejenigen bits zu verstehen,
Speicher sagt man besser: soll für diese Synchronisation, die Schwierigkeit be- die am "weitesten links” stehen. Die
Adresse eine neue Information eingege- daß die Adresse (von außen
steht darin, Adressen für den gesamten Speicher
ben werden), wird die Weiche am Ein- her) gerade dann, und exakt zu dem laufen von 0000 bis 1777 (Binär:
gang umgelegt, bevor die alte Informa- Zeitpunkt angeboten wird, wenn der 000 000 000 000 bis 001 111 111 111).
tion wieder in das Schieberegister ein- Zähler den zugehörigen Stand erreicht Eine Adresse für den Speicher ist daher
getaktet wird. Anstatt dieser wird die hat. Dieser Speicherplatzmuß unmittel- vorhanden, wenn die beiden genannten
neue Information eingegeben und an- bar ausgelesen oder beschickt werden. bits 0 sind, das AND-Gatter detektiert
schließend sofort wieder die Weiche Da das mit der Flanke des Taktimpulses es. Die SRC-Signale kommen direkt von
umgelegt, so daß das nächstfolgende geschieht, ist keine ausreichende Si- BUS, die BUS-Signale sind invertiert.
Wort nicht verlorengehen kann. Eine cherheit gegeben, daß das Auslesen Die übrigen 10 bit der Adresse gelangen

Elektor November 1974 11-59


Bild 21. Das Impulsdiagramm für den Spei-
cher nach Bild 20. Es wird zuerst Speicher-
21 platz 1 ausgelesen, im Diagramm erfolgt das
i bei dem zweiten SMATCH-Impuls. Die In-
TAKT __
TAKT1— 1 phU 3p1yP “L p “L ! “L p T-J formation wird dann auf die DATA-Lei-
tungen gesetzt, anschließend wird Speicher-

s1 P 0 l y P 5 P I py
1 platz 3 als DST angewiesen. Beim zweiten
- DMATCH-Impuls werden die DATA in Spei-
5 p i1 1 5wa al uy5 y0y cherplatz 3 eingelesen.

ZÄHLER u
N rz nnpppp
!

1
... i ma uuUM
jp
i 2
IPLPppJ
3
Bild 18 a. 1014 bit-Schieberegister mit

S n 11
!

SRCENB__ integrierter "recirculating"-Logik (z.B.


11 IM 7712). Siehe dazu auch Bild 18.
SRCADR -
SMATCH
!
1
1 11 yy Bild 20 a. 1 k X 12 bit Speicher, aufgebaut

MEMSRC 9 ma 1
i 11 HB^H Hfl Hl
11 yhh Hlmm Hl: i
mit Schieberegistern
(Siehe dazu auch Bild 20).
des Typs IM 7712.

srcsel“

ShCFNk
i
1 11 yyy yy - Bild 21 a.
mit
Impulsdiagramm für einen Speicher
IM 7712 (Siehe auch Bild 21).

"BIT1"
1
i
11
p Hl Hl Hl
1
J
i

DATA 1 I


p1 1
^H
IS
SRCRDY fl

DSTENB
1
1 1 1uJy ll 1
DSTADR

DMATCH
1
yy 1 1
MEMDST
- 1 IHM
LP 1
y1
Hl Hl Hl mm H Hl Hli
1
|^H
Erstdann wird das erneut erscheinende
MATCH-Signal SRCSEL passieren kön-
source select). Dem
DSTSEL

DSTFNK
n 11
y yy 1 1
nen (Memory
NAND SRCSEL wird noch ein drittes

1 yy 1
i1 Signal, der Taktimpuls, zugeführt, da-
DATA IN 1 1 1 1
1 mit erhält das Ausgangssignal die halbe
"BIT3" 1 II 11 Länge eines Zählerstandes. Damit ent-
1 steht ein positiver Impuls, und zwar
•DSTRDY ^H i

mitten innerhalb der Zeitspanne, inner-


i i

halb derer das gesuchte Wort am Spei-


cherausgang steht (Bild 21). Diese
Flanke dient als Taktimpuls für die
1 2 D-Flipflops, in denen das zu lesende

Speicherwort gepuffert ist. Die gleiche


positive Flanke von SRCSEL schaltet
einen DEVice-SELector ein. Der kom-
plementäre Ausgang des Zustandsflip-
flops im DEV-SEL liefert das Reset-
Signal für MEMSRC, so daß garantiert
nur jedesmal ein Wort aus dem Speicher
ausgelesen wird. Diese Leitung bleibt
nämlich 0, bis der gesamte SRC-DST-
Zyklus abgelaufen ist. SRCRDY wird
wieder von DEVSEL geliefert, und das
”Frage-und- Antwort-Spiel” zwischen
SRCENB und SRCRDY wird abgearbei-
tet.

an Vergleicher-Schaltungen die mit die erforderliche Synchronisierung. Das Auf der DST-Seite verlaufen die Dinge
SN 7486 Exklusiv-OR-Gattem aufge- AND-Signal von SRC10 und 11, SRC praktisch identisch (Speicher als DST
baut sind. Es sind 10 für SRC und 10 SRCENB wird dem
D-Eingang zuge- heißt: ein neues Speicherwort schrei-
für DST. führt, mit der positiven Flanke des ben). Auch hier ist ein MEMDST-Flip-
Die anderen Eingänge der EX-OR’s sind Taktimpulses wird diese Information flop vorhanden, dessen Ausgangssignal
mit den Ausgängen eines 10 bit-Zählers, in das Flipflop eingetaktet und er- von MATCHöffnet. DSTSEL ist nicht
dem Adressenzähler, verbunden. Die scheint an seinem Ausgang. Die gleiche mit Takt verbunden: ein Impuls mit der
Ausgänge der EX-OR’s steuern ein Taktflanke erhöht den Zählerstand, so Dauer einer vollen Taktperiode wird
AND-Gatter mit 10 Eingängen (NAND daß der Zählerstand im Gleichschritt ist. benötigt, um die Weichen umzulegen
mit 8 Eingängen + NAND mit 2 Ein- Das Impulsdiagramm Bild 21 verdeut- (SN 7450 oder 7451). Für die Dauer des
gängen + Inverter). Ist der Ausgang des licht die Zusammenhänge. Hier ist zu Zählerstandes ist die Information auf
Gatters 1 so herrscht Gleichstand zwi- erkennen, was geschieht, wenn eine den DATA-Leitungen mit den Schiebe-
schen Adresse und Zählerstand Adresse angeboten wird und der Zähler- register-Eingängen verbunden. Der
(MATCH). Dieses Signal muß aber noch stand den gleichen Wert aufweist; diese Taktimpuls selbst bewirkt nun, daß
das Gatter SRCSEL passieren, das Konstellation bleibt unbeachtet, ein genau inmitten dieser Zeitspanne das
durch den Ausgang eines D-Flipflops vollständiger Speicherzyklus muß abge- neue Speicherwort eingetaktet wird
gesperrt wird. Dieses Flipflop sorgt für wartet werden (1024 Taktimpulse). (Positive Flanke!).

11-60 Elektor November 1974


i

Die Polarität der Daten vor und hinter


dem Speicher ist etwas verwirrend, auf
den DATA-Leitungen (BUS) ist die
20a
Information negativ (Negative Logik:
1 = 0 Volt). Sie erscheint positiv an den

Ausgängen der AND-OR-INVERT-


Gatter. So werden die Wörter auch in
den Speichereingelesen; die gespeicher-
te Information ist positiv (Positive
Logik: ”1” = 3 V ... 5 V; TTL-Pegel).
Wiederum invertiert gelangen sie zurück
an den anderen Eingang des AND-OR-
INVERT-Gatters. Negativ wird die In-
formation auch in den MEMory BUF-
fem gespeichert. Die Daten gelangen als
positive Signale von den Komplemen-
tär-Ausgängen der Buffer an die Treiber-
Gatter SN 7438. Schließlich wird alles,
letztmalig invertiert, als DATA auf BUS
gesteuert.
In Bild 21 ist ein Beispiel angegeben für
die Instruktion:

(SRC) - Speicher 1

(DST) — Speicher 3.

Hier sind alle ”worst-case”-Situationen


vorgesehen (die Wirklichkeit sieht ganz
anders aus!):
1 — SRC und SRCENB der Adresse 1
werden während des Zählerstandes 1
angeboten, und zwar in der zweiten
Hälfte;
2 — DST und DSTENB der Adresse 3
werden während des Zählerstandes 3

mB sz szjm igi

B
angeboten, und zwar während der
ersten Hälfte;
— DSTENB
i
!l1jflj
3 bleibt länger als ein voll-
ständiger Speicherzyklus stehen. Es gibt
zwar noch ein MATCH, das sich aber
nicht auswirken kann.
4 — SCRENB bleibt länger als ein voll- 5 Bi m IiS 1
i^—
ständiger Speicherzyklus stehen. Es gibt
dann mehr
von denen
als einen SMATCH-Impuls,
allerdings kein einziger be-
antwortet wird.
”Bit 1” und ”Bit 3” bedeutet: Sind
m 1 BBBI

^EBB
i
bi
BBBI
bei
B^^l

1
diese "Signale” 1, so ist die zugehörige
Information (Speicherwort 1 und 3) an
Ein- und Ausgang des Speichers vor-
handen. In Bild 20 sind zwei Blöcke
1
! BE
1 ^^9
mit "LEVEL SHIFT” bezeichnet, es
handelt sich um Schaltungen zur An-
passung der -9 V-Taktsignale an die Typen anderer Hersteller) lassen sich zwei Taktimpulse erforderlich, an je-
Schieberegister 1404 A. Vergleicht man auch Schieberegister mit anderer Aus- dem Takteingang einer.
Bild 1 9 mit Bild 2 1 so wird man fest-
, führungsform verwenden: Schieberegi- TAKT 1 tritt hier als Ausgangstakt auf;
stellen, daß die mit "TAKT” bezeich- ster mit eingebauter "recirculäting”- mit seiner negativen Flanke erscheint
neten Signale sich nicht gleichen, sie Logik. Die Weiche (Bild 18) und der der Inhalt der Speicherzelle Nr. 1024
sind komplementär zueinander. Das Rückführungspfad sind in den Baustein am Ausgang. Als Eingangs-Takt dient
Taktsignal zum Schieben (und Ein- integriert. In diesem Fall können die TAKT 2: Hier wird mit der positiven
takten) für den Speicher ist das addierte AND-OR-INVERT-Gatter entfallen, die Flanke die Eingangsinformation in das
doppelte Taktsignal: TAKT 1 und in Bild 20 die Weichen bilden. Schieberegister übernommen. Außer-
TAKT 2. "TAKT” in Büd 21 geht zu Als Beispiel für diesen Typ kann das dem schieben dann alle Zellen ihre
beiden MEM-D-Flipflops, zu SCRSEL IM 77 1 2 von Intersil dienen (Bild 1 8 a). Information einen Schritt weiter.
und zum Adressenzähler. Mit Hilfe Im 1404 werden die beiden Taktimpuls- Gegenüber Bild 20 gilt für IM 7712 die
einer Teiler-Schaltung werden TAKT; folgen innerhalb des IC’s ge”multi- Schaltung nach Bild 20 a:
und TAKT 2 daraus abgeleitet. Die plext” (sie können daher als insgesamt - die AND-OR-INVERT-Weichen ent-
1404’s arbeiten mit den Speisespan- ein Takt betrachtet werden). Das ist fallen, ebensowie der Rückführungs-
nungen +5 V und -9 V. Anstatt des bei dem IM 7712 nicht der Fall; hier pfad.
Typs 1404 von Intel (oder äquivalenter sind für das Durchschieben eines bits - TAKT für MEMSRC, MEMDST,

Elektor November 1974 11-61


— V

22
SRCADR
24
INTEL M1404A
SRCENB V DD l-9Vi
CHPENB

MEMOUT
1000ns
KLKOUT 50ns

DATENB

SRCRDY 1 _
DSTADR

DSTENB
P1404A
R/W
750ns AUS- 8 -Vc,
200ns 50ns
TAKT2- 7| — N.C.
DSTRDY N.C.— 6|— TAKT 1

V DD~ -EIN

INTERSIL IM7712
VD nl-5VI

EIN ,q;

TAKT 1

INTERSIL IM7722
Vcc'+sv)

TAKT 1

3xSN74175
INTEL 2102
A6 — A7
Bild 22. Impulsdiagramm eines 2102-Spei- SCRSEL und Adressenzähler werden A5 2 15 — A8
chers (statisches RAM; Random Access von TAKT 1 abgeleitet: alles wird mit R/W— 3 14 — A9
Memory). dem Ausgangstakt synchronisiert. Al— 4 13 — CHPENB
Ansonsten ist die Arbeitsweise mit der A2 5 12 — AUS
Bild 23. Das vollständige Prinzipschaltbiid des 404 vergleichbar, mit dem Unter- A3 — 6 11 — EIN
eines mit RAM's (Typ 2102) aufgebauten
1

schied, daß bei einer negativen Flanke A4— 7 10 — CC


I+5VI

Speichers.
von TAKT 1 die Information am Aus- A0— 8 9 — GND
Bild 24. Anschlußbelegung verschiedener
gang erscheint, und daß mit der positi-
Speicher-IC's. ven Flanke von TAKT 2 die Informa-

11-62 E|aktor November 1974


tion eingelesen wird (Siehe auch Als Konsequenz aus diesen Anforde-
Bild 21 a). rungen ergeben sich die in Bild 22
Ferner angemerkt, daß es die
sei angegebenen Zeiten. Eine Möglichkeit
”INVERT”-Funktion der AND-OR- für die schaltungstechnische Realisation
INVERT-Weichen im 7712 nicht gibt, ist in Bild 23 angegeben. Die Zeiten Erfahrungen mit,
dadurch entfallen auch die Inverter werden Berichtigungen von
hinter jedem Schieberegister. Die Po- — durch Monoflops erzeugt ( 1 000, 200, und Nachträge zu
Elektor-Publikationen
larität ist nun folgendermaßen: 750 ns) oder
auf den DATA-Leitungen: negativ, - durch Verzögerung mit 4 Invertern
in den Schieberegistern: negativ(!), (etwa 50 ns). Die Blöcke, in die ein Bildschirm-Tennis
im MEMory BUFfer: negativ, negativer Impuls eingezeichnet ist, Beim Abdruck der Aktionsschaltung
zu den 7483-Gattern: positiv, stellen Flankendetektoren dar, wie sie Nr. 172 (Heft 10/74, Seite 10-50)
zu den DATA-Leitungen: negativ. bereits besprochen wurden (Bild 14).
sind einige Bauteilwerte irrtümlich
Der Typ IM 7722 (auch Intersil) ist Bei dem Typ 2102 handelt es sich um nicht angegeben. Die fehlenden C-
dem IM 7712 nahezu gleichwertig, es statische Speicher, das heißt: Die gele- Werte sind in den nachfolgenden Ta-
fehlen aber die beiden Select-Eingänge senen Daten bleiben noch solange an bellen zusammengefaßt.
(Bild 18), anstatt 10 Anschlußleitungen den Ausgängen stehen, wie Adresse,
sind nur 8 vorhanden. Von Signetics Chip-enable und Read/Write angeboten
Tabelle zu Bild 1.
istder Typ 2512 identisch mit dem sind. Daher ist es möglich, den Spei-
IM 7712 und der Typ 2525 mit dem cherinhalt ohne Zwischenspeicher Horizontal- Vertikal-
IM 7722. Auch das 1405 A von Intel (Buffer) direkt auf die Data-Leitungen Generator Generator
ist ein ”recirculating”-Schieberegister, zu setzen (über Treiber SN 7438). C 11 15 n 4,7 ß
aber mit einer Länge von 5 1 2 bit. Das führt aber zu Beschränkungen bei C12 15 n 4,7 ß
Ferner sind die Typen 1402 A und der Benutzung des Speichers, denn es c 13 360 p 22 n
1403 A mit dem 1404 äquivalent, alle ist dann möglich, innerhalb einer In-
1024 bit, nur anders organisiert: 1402 A struktion (SRC & DST) Daten von
256 X 4 bit, (4 Parallel-Ein- und Aus- einem Speicherwort zu einem anderen Tabelle zu Bild 2.
gänge) 1403 A: 512 X 2 bit (2 Parallel- zu übertragen. Es müßten dieselben Video-Generator Video-Generator
Ein- und Ausgänge). Werden Eingänge Horizontal Vertikal
Adresseneingänge gleichzeitig benutzt
sowie Ausgänge jeweils untereinander werden, und das geht selbstverständlich
verbunden, so können die letztgenann- C2 1 C2 2 C 21 c 22
nicht. Deshalb ist in Bild 23 wieder
ten Typen als Ersatz für 1404 A dienen. ein Buffer vorhanden, damit ergeben Ball 1,4 n 160 p 0,47 ß 68 n
Die Anschlußbelegung der verschiede- (D, E)
sich die gleichen Möglichkeiten wie
rechter ,4 n 180 p
nen Typen ist aus Bild 24 zu ent- bei einem Schieberegisterspeicher. 1 0,47 ß 0,22 ß
Spieler
nehmen. Die Vorteile des RAM’s liegen vor
(F.G)
allem im einfacheren Aufbau, und be- linker 1,4 n 180 p 0,47 ß 0,22 ß
Random- Access-Memories sonders im wahlfreien Zugriff: keine Spieler
Hier folgt nun die Kurzbeschreibung kniffligen Synchronisier-Schaltungen, (H, 1)

eines Speichers, der mit1 2 Stück RAM’s außerdem ist ein solcher Speicher viel
schneller (max. 1000 ns Zugriffszeit Der in Bild 4 fehlende Widerstandswert
des Typs 2102 von Intel aufgebaut ist.
Dieses IC ist ein Speicher mit wahl- gegenüber 300 ßs und gemittelt 150 ßs für R4 beträgt 56 k. Die Spule L!
1 ... 2 Windungen;
(Bild 5) besteht aus
freiem Zugriff, er ist TTL-kompatibel bei dem maximale
Schieberegister, die
gegebenenfalls muß mit der Spule etwas
an allen Eingängen und an allen Speise- Taktfrequenz beträgt 3 MHz). Zudem
experimentiert werden.
spannungsanschlüssen. Er hat bedeutet es eine große Erleichterung,
daß Ein- und Ausgänge TTL-kom-
Anm. der Redaktion: Durch geringe
10 Adressen-Eingänge, einen CHiP- alle
Änderungen der frequenzbestimmen-
ENaBle-Eingang und einen Lese/ patibel sind.
den Bauelemente des VHF-Oszillators
Schreib-Eingang (Read/Write), das sind Der einzige Nachteil liegt im wesentlich
arbeitet dieser im Fernsehband I
zusammen mit den beiden Speisespan- höheren Preis, er schlägt natürlich bei
(48,25 62,25 MHz).
. . .

nungsanschlüssen 1 4 pins. 12 Stück zu Buch! Es ist aber festzu-


Der Wert des Kondensators C 53 ändert
Das Impulsdiagramm (Bild 22) zeigt stellen, daß sich die Preise nach unten
sich dann auf 3,3 p, während für C 55
die zeitlichen Verhältnisse, wie sie für bewegen.
22 p eingesetzt werden. Ein Trimmer
eine gute Arbeitsweise gegeben sein (Wird fortgesetzt).
(4 ... 20 p) mit einem Parallelkonden-
müssen. Die Anforderungen in Zusam- sator Cp = 3p9 ersetzen den Konden-
menfassung: sator C 54 Mit diesen Änderungen muß
.

die Induktivität der Spule Li bei 1 ßH


20 Wdgn.
liegen. Wickeldaten der Spule:
0,2 mm CuL, Wickeldurchmesser der
<j>

Luftspule = 4 mm.
MIN TYP MAX
— ADRES & CHPENB: = 0
bis DATA OUT 500 1000 ns (access-time)
- CHPENB: = bis DATA OUT
1 00 ns (previous data valid)

- ADRES bis R/W: = 0 200 ns (write setup time)


- R/W = 0 750 ns (write pulse width)
- R/W: = 1 bis CHPENB: = 1 50 ns (write recovery time)
- DATA IN bis R/W: = 1 800 ns (data setup time)

Elektor November 1974 11-63


Alle logischen und algebraischen Ope-
rationen werden mit Hilfe der "arith-
metic and logic unit” vom Typ
SN 74 181 durchgeführt, nachstehend
Erfahrungen mit, kurz ALU genannt. Dieses IC besitzt
Berichtigungen von
zweimal 4 Data-Eingänge ( Aß ... A3
und Nachträge zu
Elektor-Publikationen und Bß B3), 4 Funktionsausgänge
. . .

(Fß F3),
. . 5 Steuereingänge
. (M,
Sß . S3. . ein "Modus”- :und
Abschaltautomat für das Fernsehgerät 4 ”Select”-Eingänge),je einen "Carry ”-
Die Aktionsschaltung Nr. 173 (Okto- Aus- und Eingang sowie einen A=B-
ber ’74, Seite 10—52) ist mit einer Ausgang. Die Carry-Ein- und Ausgänge
falschen Autorenangabe versehen. ermöglichen die Seriensphaltung meh-
Autor der Schaltung ist Herr G. Oss- rerer ALU’s und damit die Verarbei-
wald, Stuttgart. tung von Zahlen mit mehr als 4 Bit
(Bild 25). Über die 4 S-Eingänge, den

Der Pawlowsche Hund, Heft 46


In der Texterläuterung zur Schaltung 1,

Seite 10-35, sind dielndices der Transi- J.T.W. Damen


storen falsch angegeben. Richtig muß
es dort heißen: T 4 statt T^ T s statt
T 2 T 7 statt
,
T 3 T 6 statt T4 Tg
, ,
statt
T s T 9 statt T 6
, .

In dieser Folge wird die Arbeits- M- und den Carry-Eingang können


insgesamt 48 verschiedene Funktionen
weise der Recheneinheit
beschrieben. Die Recheneinheit
gewählt werden. Sind z.B. = ”0”, M
Carry = ”0” und Sß S3 = ”0”, ”1”, . . .

hat die Aufgabe, logische Ver- ”1”, ”0”, so wurde die Funktion
knüpfungen und algebraische "Addieren” gewählt. An den Ausgän-
Operationen durchzuführen: u. a. gen Fß F3 (F) erscheint dann die
. . .

AND, NAND, OR, NOR, Summe von Aß A3 (A) und . . .

Bß B3 (B) F = A+B.
EXCLUSIVE OR, Inkrement . . .

Läßt man den Carry-Eingang außer


:

(1 addieren), Dekrement (1 sub- Betracht, so teilt M die Anzahl d^


trahieren), Addition und möglichen Funktionen in zwei Grup-
Subtraktion. Die Recheneinheit pen. Mit M = ” 1 ” stehen die logischen
wurde für die doppelte Zeichen- (Boole’schen) Funktionen, bei M = ”0”
die arithmetischen Funktionen zur
länge von 24 Bit ausgelegt.
'
Am 24. und 31. Dezember
Ferner können Zahlen mit einer
Verfügung. Jede Gruppe umfaßt
1974 entfällt die redaktio- 16 Funktionen, die über Sß S3 . . .

Länge von 12 Bit multipliziert gewählt werden können; insgesamt sind


nelle Fragestunde.
werden, das Ergebnis hat maximal damit 32 Funktionen vorhanden. Be-
1
Auf die Innenseite der nutzt man gleichzeitig den Carry-
Banderole, die als Verpak-
24 Bit; Zahlen mit einer Länge
Eingang, so verdoppelt sich diese Zahl.
kung und zum Adressieren von maximal 24 Bit können Der Eingang wird allerdings nur bei
durch 12 Bit-Zahlen dividiert den arithmetischen, nicht bei den
des vorliegenden Heftes
werden, wobei das Ergebnis logischen Funktionen benutzt. Das
diente, ist eine "Wegwerf-
24 Bit und der Rest 12 Bit lang geschieht nicht willkürlich, denn das
schaltung" gedruckt, wie Carry-Signal stellt nichts anderes als
sein können.
in Heft 47, Seite 1 1-25 den ”1 "-Übertrag bei den arithmeti-
In der nächsten Folge wird dann
angekündigt. Achten Sie schen Operationen dar. Die Anzahl der
die praktische Schaltungsausfüh- Funktionen beträgt damit 48.
auch in Zukunft darauf,
rung behandelt werden. Bei mehreren ALU’s in Serie wird der
ob die Banderole eine
Carry-Ausgang des einen ALU mit dem
evtl, nützliche Information Carry-Eingang des folgenden verbun-
für Sie enthält. den. Nur das Signal am Carry-Eingang
des ersten ALU ist frei wählbar.

12-56 Elektor Dezember 1974


:

Schließlich besitzt der ALU noch einen gegeben, ihnen sind die Adressen gen wegfällt, ändert sich auch die
"Ist Gleich”-Ausgang, der auf ”1” 7700 . 7757 zugeordnet. Die Signale
. . Information an den F-Ausgängen.
liegt,wenn A und B gleich sind der Steuereingänge sind in diesen Dies führt beim "Computer 74” zu
(A0 = B0, Al = Bl usw.). Dieser Aus- Adressen enthalten. Binär lauten die Schwierigkeiten. Wenn die Funktion
gang ist von den Funktionsausgängen Adressen: anhand der Adresse (SRC oder DST)
unabhängig und wird nur bei der 111 111 000000 ... 111 111 101 111 , bestimmt wurde, bleiben nur die Data-
Funktion "Subtrahieren” verwendet. wobei die letzten 6 Bit den Steuer- Leitungen übrig, um den ALU mit
Bei den logischen Funktionen eingängen M, ü, 53, 52, 5T und 5$ ent- Informationen (z.B. Zahl A) zu ver-
(M = ”1 ”) wird das Ergebnis "bitweise” sprechen. Eine Adresse, die den ALU sorgen. Für die zweite Zahl (B) ist
ermittelt, d.h. für jedes Bit getrennt. betrifft, lautet also: keine Möglichkeit mehr vorhanden.
Gesucht sei z.B. die UND-Funktion 111 1 1 1 M
C 53 52 5T 5$. Selbst wenn diese Möglichkeit gegeben
(M = ”1”, S0 = ”0”, S1 = ”0”, S2 = ”1 ”, Einige Bemerkungen: wäre und die gewünschte Funktion
S3 = ”0”, carry = ”0” oder ”1”) von 1. Carry-Ein- und Ausgang sind beim
gewählt werden könnte, dann würde
A = 0111 und B = 1100 (A0 = ”1”, 74181 invertierend. In der Schaltung diese Information doch nicht lange
Al = ”1”, A2 = ”1”, A3 = ”0” und müss en deshal b CI (Carry In) und genug vorhanden sein. Daher müßte
B 0 = ”0”, B 1 = ”0”, B2 = ” 1 ”, B3 = ” 1 ”), CO (Carry Out), in der Rechnung da- sie, am besten über die DATA-Leitun-
dann ist F = 0100 F(ä = A0 • B0
:
gegen CI und CO berücksichtigt wer- gen, einer anderen Einheit (z.B.
(logisches Produkt) =1 -0 = 0, den. In dem erwähnten zweiten Bei- Speicher) zugeführt werden.
Fl = Al • Bl = 1 • 0 = 0 usw. Dagegen spiel ist CI = CO = 1, an den
1 und Zur Lösung dieses Problems wird ein
werden A und B bei den arithmetischen Anschlüssen des 74181 liegen jedoch "Rechenregister” benutzt, das vor-
Operationen als Zahlen von 4 Bit inter- in diesem Fall Null Volt.
RR bezeichnet werden soll.
läufig mit
pretiert, so daß dann A und B wie in 2^ Nicht alle Variationen von und M Das Zusammenwirken von RR und
folgendem Beispiel addiert werden: CI gehören zu ALU-Adressen: Adressen ALU muß dann folgende Bedingungen
• 0111
+ 1100
mit 111 111 11X XXX sind für andere
Aufgaben reserviert (Register, Multi-
erfüllen:

— die Zahl A für den ALU wird stets


10011 plikation, Division u.a.). Es sind dies
die Adressen 7760 .
dem RR entnommen;
7777.
Hierbei tritt gleichzeitig ein Übertrag . .
— B für den ALU
die Zahl läuft über
auf (Carry -Ausgang): die ganz links in die DATA-Leitungen;
der Summe stehende 1. Wenn bei die-
Rechenregister
— die Funktion F, ausgeführt mit A
sem Beispiel der Carry-Eingang ”1” Der ALU SN 74181 enthält keine und B, wird in das RR geschrieben.
gewesen wäre, dann sähe das Ergebnis Speicherelemente. Die gewählte Funk- Zahl A wird also gelöscht und geht
so aus: tion erscheint an den F-Ausgängen, verloren!
solange —
0111

der ALU wird ausschließlich als
die Signale an den Steuereingängen
1100 DST addressiert;
der gewählten Funktion ent- —
+ 1 das RR muß unabhängig vom ALU
sprechen und SRC oder DST erreichbar sein.
10100 als
— an den A-Eingängen die Zahl A und
Die vollständige Liste der möglichen — an den B-Eingängen die Zahl B liegt. Als Beispiel ein Programm für die
Funktionen wurde bereits in Teil 3 an- Sobald eine dieser drei Voraussetzun- Addition der beiden Zahlen P und Q

(SRC) START Speicher M


(DST) RR
(SRC) Speicher N
(DST) OP
(nach Ausführung
steht im RR: P + Q)
(SRC) RR
(DST) Speicher K
(SRC) HALT
(das Ergebnis der Ad-
dition (P+ Q) befindet
sich in Speicher K).
K, 0
M, Zahl P
N, Zahl Q

In der Liste der Funktionen aus Teil 3


kommt dieses Zusammenwirken von
RR und ALU bereits zum Ausdruck:
Zahl A ist darin durch RR und Zahl B
durch DATA ersetzt: die Information
auf den DATA-Leitungen.
Der gewählte Aufbau bringt einen
kleinen Nachteil mit sich. Es gibt näm-
lich sowohl Funktionen, die sich aus-
schließlich auf Zahl A beziehen, als
auch solche, die den Inhalt des RR
betreffen, zum Beispiel: Dekrement

Elektor Dezember 1 974 12-57


, 1

(7700), Linksschieben (7703), Links- Als DST arbeitet GL als Vergleicher: Wie dieses Beispiel zeigt, kann bei
schieben und Inkrement (7723) u.a. Die Information der SRC, die auf den A>B der Inhalt von CO (=2) verwen-
Es wäre vorteilhaft — im Hinblick auf DATA-Leitungen steht, wird mit dem det werden, um
sowohl die SRC- als
die Programmierung — ,
wenn diese Inhalt des Rechenregisters verglichen. auch die DST-Adresse des Sprung-
A direkt von den
Funktionen die Zahl Sind beide gleich, dann wird das befehls ("Fortsetzung, Sprung 1”) zu
DATA-Leitungen holen würden. Nun GL-Flipflop ”1”, sonst ”0”. Ist überschlagen.
muß vor der Ausführung z.B. eines A (Inhalt RR) >
B, dann wird
Schiebebefehls, zuerst Zahl A in das CO = ”1”, ist A B.dann wird CO = 0.
<
RR gebracht (SRC = Zahl A, DST = RR) Wenn CO oder GL als SRC angewiesen Negative Zahlen
und danach der Schiebebefehl gegeben werden, wird der Inhalt des betreffen-
Die Subtraktion ist definitionsgemäß
werden (SRC = XXX
— spielt keine den Flipflops auf die DATA-Leitung
identisch mit der Addition von nega-
Rolle, muß aber eine bestehende Ein- DATA 01 gegeben, das heißt also: tiven Zahlen. Nach genau diesem Prin-
heit sein, z.B. Zahl A, ein Speicher- 0 oder 2.
Warum DATA 01 und nicht DATA 00?
zip verfährt auch der ALU bei der
platz also — DST = 7703). Das kostet Subtraktion.
zwei Befehlsschritte anstelle eines ein- CO und GL werden im Programm zur
Wie aber sehen negative Zahlen aus?
zelnen. Entscheidung benötigt, ob eine Zahl A
Das kann unterschiedlich sein, es rich-
Das Vertauschen von A und B würde größer, kleiner oder gleich einer Zahl B
tet sich nach der vereinbarten Defini-
Nachteil beseitigen. Dies ist ist. Hierzu wird A mit B (GL) ver-
diesen tion. Für binäre Zahlen ist jedoch das
auch in der Tat möglich! Der Multipli- glichen, das Ergebnis ist in CO und GL
sogenannte Zweierkomplement (two’s
zierer und der Dividierer, die auch vom zu finden. Mit GL kann bestimmt wer-
complement) allgemein gebräuchlich.
ALU Gebrauch machen, können jedoch den, ob A = B, mit CO, ob A B und >
damit auch, ob A Zahlen von 12 Bit können dezimal
bei der gewählten Lösung ein gutes <
B ist. Das Ergebnis
zwischen 0 und 4095 liegen. Größere
Stück einfacher ausfallen. Wie noch zu des Vergleichs kann nun direkt dazu
benutzt werden, einen Sprung auszu- Zahlen sind nicht darstellbar, kleinere
sehen sein wird, benutzen beide Schal-
lösen. Beispiel: aber auch nicht! Die Vereinbarung für
tungen intensiv das Linksschieben des
das 2er-Komplement besagt nun, daß
RR-Inhaltes. Wenn Multiplizierer und (SRC) Zahl A die 4096 Zahlen in positive und nega-
Dividierer weggelassen werden (Multi- (DST) RR tive Zahlen aufgeteilt werden, und
plikation und Division lassen sich leicht (SRC) Zahl B
programmieren!), kann die genannte
zwar so, daß hiermit bequem gerechnet
(DST) GL (CO ist jetzt 0, werden kann. Das Subtrahieren muß
Vertauschung ohne weiteres vorgenom- wenn A < B,
men werden. Die Subtraktion erfolgt zum Beispiel durch das Addieren einer
1 wenn A > B)
negativen Zahl mögüch sein. Die Unter-
dann so: RR: DATA minus RR. (SRC) CO teilung ist in Tabelle angegeben. I
Unter den möglichen Funktionen be- (DST) RR
finden sich einige, die keinen Sinn (SRC) RR
haben, z.B.: 7717, 7720, 7740: Tabelle I. Negative Zahlen
(DST) OP (Der Inhalt der
RR:=RR, auch sind Funktionen dop- "Adresse” (= Fort-
dezimall oktal *! binär
pelt vorhanden wie 7716 und 7741: setzung) wird zu
OR, 7724 und 7744 AND
und andere.
:
CO addiert: wenn +2047 3777 011 111 111 111
Dies ist in der Programmierung des +2046 3776 011 111 111 110
A <B steht "Fort- +2045
SN 74181 eingebaut, und da jeder 3775 011 111 111 101
setzung” (+0) im
Funktionscode eine Adresse ist, kommt RR, wenn A
po-

dies auch in der Adressenliste zum


> B si-
steht dort "Fort- tiv
Ausdruck. Der Gewinn, der zu errei-
setzung” +2.) + 3 0003 000 000 000 01
chen wäre, wenn diese Adressen für
(SRC) Adresse + 2 0002 000 000 000 010
andere Einheiten benutzt würden,
(DST) PC (Diese Adresse, + 1 0001 000 000 000 001
wiegt jedoch die dann erforderliche
also "Fortset- -£L_ _QQ£Ö__ j)QQ.QDjQflQQ.Q0D_
komplizierte Adressierung des ALU zung” oder "Fort- - 1 7777 111 111111 111
nicht auf.
setzung” +2 wird
- 2 7776 111 111 111 110
Carry Out- Register - 3 7775 111 111 111 101
den Program
in
ne-
und Gleich- Register Counter gesetzt.)
* ga-
Die Information am Carry-Ausgang (SRC) Fortsetzung, Sprung 1
, , tiv
des letzten 74181 (Bild 25) wird im (DST) PC -2046 4002 100 000 000 010
Carry Out-Register (CO), bestehend aus . . . (hier folgt das -2047 4001 100 000 000 001
einem Flipflop, gespeichert. Auch die Programm für -2048 4000 100 000 000 000
”Gleich”-Ausgänge (A=B) enden in A > B.) *) Siehe unter "Multiplikation''
einem Flipflop: dem Gleich-Register
(GL). Das Carry-Register wird jedesmal
abgefragt, wenn ALU oder GL als Um zu einer Zahl (binär) das 2er-
DST dienen (also wenn DST zwischen (SRC) Sprung und so weiter (hier Komplement zu finden, wird zuerst
folgt das Pro- das ler-Komplement (one’s comple-
7700 und 7757 liegt bzw. 7766 ist).
Das GL-Register wird abgefragt, wenn gramm für ment) gebildet. Das ist einfach: jede 1
GL als DST angewiesen ist. A<B.) wird 0 und jede 0 wird 1. Das 2er-
CO wird im Programm ausschließlich Komplement entsteht daraus durch
die Addition vom 1. Beispiel:
als SRC benutzt; als DST hat es keinen
Sinn, denn die Information, die im
Flipflop eingespeichert wurde, wird
Adresse, Fortsetzung
dezimal oktal binär
überhaupt nicht benötigt. GL kann Zahl A, 726 1326 001 011 010 110
Zahl B, ler-Komplement — 6451 110 100 101 001
dagegen DST werden (und natürlich
auch SRC). Sprung 1 Sprung 2er-Komplement (-726) 6452
1
+
110 100 101 010
! +

12-58 Elektor Dezember 1974


1 . 11

Die Subtraktion bereitet nun keine Zur Verdeutlichung folgendes Beispiel:

Schwierigkeiten mehr. A 3292


ß 2425
Beispiel: 1250 - 726 = 524 16460 = 5 x 3292
dezimal oktal binär 6584 = 2 x 3292 x 10
1250 2342 010011 100010 13168 = 4 x 3292 x 10 x 10
-726 . 6452 + 110 100 101 010 6584 + = 2 x 3292 x 10 x 10 x 10
524 1 1014 1 001 000 001 100 Ax B 7983100
carry!
Dies überhaupt nicht neues dar!
stellt
Der Carry wird nicht benötigt, er zeigt Neu jedoch, daß die Multiplikation
ist
jedoch an, ob das Ergebnis positiv oder von binären Zahlen auf genau die
negativ zu werten ist. Wenn zum Bei- gleiche Weise durchgeführt werden
spiel 726 - 1250 = -524 berechnet kann. Die einzelnen Schritte werden - gleich 0 (000 000 000 000), wenn
wird, ist der Carry 0: dabei noch einfacher: Bi=0.
dezimal oktal binär — multiplizieren mit den Ziffern 0 Für das Ergebnis ist bedeutungslos, ob
726 1326 001 011 010 1 10
oder 1 das bedeutet nur so viel wie alle zwölf Zahlen A • Bj auf einmal
-1250. 5436 j. 101 100011 HO u.
,

- 524 0 6764 0 110 111110 100 ja oder nein! addiert werden, oder ob jedesmal ein
\
carry=0
t
— multiplizieren mit 2, dies entspricht Zwischenergebnis gebildet wird. Auch
auch hier der Verschiebung um die Reihenfolge ist ohne Bedeutung,
Das Ergebnis ist wieder das 2er-Kom-
plement von 524: eine Stelle nach links. dagegen muß der Stellenwert natürlich
dezimal oktal binär - Addition der Teilergebnisse. beachtet werden. So stellt auch das
524 1014 001000 001100 Das obenstehende Beispiel wird nachfolgende Schema die allgemeine
ler-Komplement - 6763 110 111 1 10 01 Multiplikation von A und B dar:
U — ! +
binären System:
2er-Komplement (-524) 6764 110 111 110 100 A 100101111001
Bei der Subtraktion zeigt also Carry = 0 B 110011011100
= 0 x 100101 111001 x 2°
an, daß das Ergebnis negativ ist, und 000000000000
1
Carry = 1, daß das Ergebnis positiv 0 00000000000 = 0 X 100101 111001 x 2
2
oder 0 ist. 10 0101111001 = 1 X 100101 111001 x 2
3
Nachbemerkung: Beim Vergleich von 100 101111001 = 1 x 100101 111001 x 2
4
A und B mit GL (siehe oben) arbeitet 1001 01111001 = 1 x 100101 111001 x 2
5
der ALU in einem Subtraktionsmodus, 0000010000000 = 0 x 100101 111001 x 2
6
der im ler-Komplement subtrahiert. 100101 111001 = 1 x 100101 111001 x 2
7
Daher wird in diesem Fall CO = 1, 1001011 11001 = 1 x 100101 111001 x 2
8
wenn A < B und CO = 0, wenn A > B. 0000000010000 = 0 x 100101 111001 x 2
9
Es sei noch darauf hingewiesen, daß oooooooooi'000 = 0 X 100101 111001 x 2
10
weder bei oktalen noch bei binären 100101111 qo 1 = 1 X 100101 111001 x 2
= 1 x 100101 111001 x 2
n
negativen Zahlen ein besonderes 100101 11 1001 1
Zeichen benötigt wird. Der Unterschied 011 11001 110dl 11' Till 11100
ist unmittelbar an dem "meist signifi-
In der allgemeinen Form sieht die
kanten Bit” (MSB) zu erkennen: lll A Ol
Diagramm 2.
binäre Multiplikation von zwei
dieses ist 0 für die nicht negativen
Zahlen A (= An, A 10 A 9 Ao) und .
lll B 0|
Zahlen (positiv und 0) und 1 für die , . .

B (= Bn, Bio, B 9 B 0 ) wie folgt aus: . . .


negativen Zahlen (siehe Tabelle I). lll AxBll Ol

Multiplikation
Diagramm 1. 1 1 1 A 0
23 0 r
|ll AxB 10 0|
b +
Vor der Schaltungsbetrachtung für die In ol
23 0
ALU’s soll zunächst beschrieben wer- 11 1 AxBO Ol |l 1 AxB9 0|
den, nach welchem Prinzip die Multi- +
|23 0
plikation vor sich geht. Die Schaltun- 1 1 1 AxB 1 Ol

gen sind in ihrem Aufbau nämlich 1 AxB8 0


111 AxB2 Ol +
untereinander sehr ähnlich. 0
23
Multiplikation und Division erfolgen, fl 1 AxB3 Ol
|ll AxB7 0|
wie alle arithmetischen Operationen +
ITT AxB4 Öl
23 0
mit dem ALU, im binären Zahlen-
system, — mit der Basis 2. Eine verein- flT AxB5 Ol
1 1 AxB 6 0
fachte Schreibweise hierfür ist die +
bereits benutzte Darstellung im Oktal-
m~ AxB6 Ol 23 0

system mit der Basis 8; das Rechen- 111 AxB7 0 1


1 1 AxB5 0
prinzip ändert sich dadurch Der nicht. 23 0 r
111 AxB8 -Ql
vorangegangene Text enthält genügend |1 1 AxB4 0
+
Beispiele. lll AxB9 ol 23 0
Die Durchführung der Multiplikation AxB3 0
111 AxB 10 Öl 1 1
+
läßt sich in mehrere einfache Schritte
23 0
unterteilen:
— multiplizieren mit einer Ziffer
lll AxB 11 Ol
— + 1 1 AxB2 0
+
123 AxB 0 23 '
0
(0 ... 9)
— multiplizieren mit 10; dies ent- |ll AxBl 0
spricht der Verschiebung um eine Die Zahlen der einzelnen "Stufen” 23 • 0
Stelle nach links (eventuell muß sind jl 1 AxBO 0
eine 0 angehängt werden) - gleich A (100 101 lll 001), wenn 123 AxB 0
— Addition der Teilergebnisse. Bi=l,

Elektor Dezember 1974


12-59
1

Das Ergebnis ändert sich auch dann Zahl A als SRC mit VM (Multipli- Die Multiplikation besteht aus
nicht,wenn A • Bj nicht nach rechts, zierer) als DST verbunden wird. 12 Schritten, wobei pro Schritt:
sondern das Zwischenergebnis jedesmal Zahl A liegt dann an den DATA-
nach links verschoben wird, also so: Leitungen, sie ist die erste Zahl für 1. der Inhalt des RR eine Stelle nach
den ALÜ (siehe vorangegangene links schiebt; vor dem ersten Schritt
Beschreibung: b-Eingänge). Die
wird RR 0 gesetzt (Reset);
Diagramm 3.
andere Zahl kommt vom RR 2. abhängig von der Information am
IH1HKHH (a-Eingang, wie schon besprochen). Ausgang von R2 (das ist Bf!) das

11 1 B 0
|ll AxBll 0
2!3 11
Diagramm 4.
11 AxB 10 0 1 1 DATA 00
1
|23 10
1 1 AxB9 0 Zahl B Zahl A—jtootoiilioof]
23 £
|ll AxB8 0 11 ...RI ... 0 1 1 ... R0 ... 0
13 8
|1 1 AxB 7 0 loooooooooooo 000000000000
23 7, 100101111001
|l 1 AxB 6 0 000000000000 100101111001
23 6 000000000001 001011110010
|1 1 AxB 5 Oj 100101111001
23 5 000000000001 110001101011
|1 1 AxB 4 0| 000000000011 100011010110
23 4 000000000000 Schritt 3
1 1 AxB3 0 000000000011 100011010110
M23 '

_____ 3| 000000000111 000110101100


11 AxB 2 0 000000000000 Schritt 4
|23 .... 2 000000000111 000110101100
11 AxBl 0 000000001110 001101011000
023 1|
100101111001 Schritt 5
11 AxBO 0 000000001110 110011010001
1 23 AxB Ol 000000011101 100110100010
100101111001 Schritt 6
000000011110 001100011011
Die beschriebene Methode zur binären 000000111100 011000110110
Multiplikation von zwei Zahlen bietet 000000000000 Schritt 7
sich für die Realisation mit dem ALU 000000111100 011000110110
geradezu an. Sowohl die Addition als
000001111000 110001101100
auch das Linksschieben lassen sich
damit durchführen. Es müssen aller-
100101111001 Schritt8
+
dings Zahlen verarbeitet werden kön- 000001111001 010111100101 ^l
nen, die zweimal so lang sind wie für 000011110010 101111001010
A und B zugelassen; wenn A und B 100101111001 Schritt 9
je 12 Bit haben, sind dies 24 Bit. Die +
000011110011 010101000011
”arithmetic and logic unit” muß für
000111100110 101010000110
24 Bit ausgelegt werden. Das bedeutet
zugleich, daß RR aus zwei (zusammen- 100101111001 Schritt 10

geschalteten) Registern besteht: R0 für 000111100111 001111111111


die niedrigeren Stellen, RI für die 001111001110 011111111110
höheren, jede^ 12 Bit lang. 000000000000 Schritt 1

001111001110 011111111110
Die Einheit arbeitet dann wie folgt:
011110011100 111111111100
— Zahl B wird in ein Hilfsregister R2
000000000000 Schritt 12
gesetzt. Dies ist ein Schieberegister +
mit 12 Bit, das nach links schieben 011110011100 111111111100
kann (also zuerst das signifikanteste
Bit Bll),
— das endgültige (und zwischenzeit- *) ^ : links schieben

liche) Ergebnis wird in RI und R0


(RR) gespeichert,
— die Multiplikation startet, wenn

12-60 Elektor Dezember 1974


. !

DATA-Signal (Zahl A) entweder zu Division. aus” nach rechts, was bei der Multi-
RR addiert wird (wenn Bj= 1), oder Bei der Multiplikation von A und B plikation erst nach Änderung der
auch nicht (wenn Bj = 0); wurde die Zahl A, abhängig von Bj = 0 Ziffemfolge der Fall war,
nach oder 1, addiert bzw. nicht addiert; bei - ein Zwischenergebnis benutzt man
3. der Inhalt von R2 eine Stelle
der Division hängt dagegen der Wert bei der Division auch normalerweise,
links schiebt, dadurch gelangt das
nächste Bit von Zahl B zum Aus- Bj (0 oder 1) davon ab, ob A sub- denn die gleichzeitige Subtraktion
trahiert werden kann oder nicht. Auch von mehreren Zahlen ist recht müh-
gang.
für die Division läßt sich ein allgemei- sam.
Nach 12 solchen Schritten steht das nes Schema aufstellen: Für die Durchführung der Division mit
Ergebnis in RR.
Der Ausgang von R2 kann zum Ein-
gang rückgekoppelt werden, so daß
der Inhalt nicht verlorengeht. Damit
ist dann allerdings die frühere Infor-

mation von RR gelöscht

Als Beispiel wurde in Diagramm 4


die obenstehende Multiplikation
3292 • 2425 = 7 983 100 vollständig
durchgeführt.

Programmierung: (SRC) Zahl B, (DST)


R2; (SRC) Zahl A, (DST) VM. Das
Ergebnis steht in RI & R0.

_ Diese Art der Multiplikation eignet


{fÄich nicht für negative Zahlen. Die
Zahlen A und B werden als "unsigned
integer” aufgefaßt: ganze Zahlen ohne
Vorzeichen (also positiv), von 0 bis
4095 laufend. Wenn trotzdem ”signed
integers” (positiv und negativ, von
,
-2048 +204 7) verarbeitet werden
bis
sollen, müssen die negativen Zahlen
in positive umgewandelt werden (von
0 abziehen!), das Vorzeichen des
Produktes muß dann getrennt be-
stimmt werden,
Tabelle I gibt an, daß dem Pluszeichen

eine 0 an der signifikantesten Stelle


(ganz links) der binären Zahl und dem Bei der Betrachtung des Schema’s (Dia- ALU’s wird das Rechtsschieben von
Minuszeichen eine 1 an dieser Stelle gramm 5) fällt folgendes auf: A • Bj wieder durch das Linksschieben
entspricht. Bekanntlich ist das Produkt
- die Zahl A • Bi schiebt "von Natur des Zwischenergebnisses ersetzt:

von zwei Zahlen positiv, wenn beide


Zahlen gleiches Vorzeichen haben, bei
unterschiedlichem Vorzeichen dagegen
negativ.
Analog dazu gilt für binäre Zahlen:
/‘ÄErgebnis ist Plus, wenn beide MSB’s
™(Most Significant Bits) 0 oder beide 1
sind; Minus, wenn das eine 0 und das
andere 1 ist. Wird das Vorzeichen des
Produktes auch durch 0 bzw. 1 ausge-
drückt,dann liefert dies die Exclusive-
OR-Funktion aus den Vorzeichen bei-
der Zahlen. MSB a = 0 und MSBb = 0,
oder MSB a = 1 und MSBb = 1, dann
MSBp ro d u kt = 0; MSB a = 0 und
MSBb = 1 oder umgekehrt, dann
MSBpjodukt = 1

Division
Ebenso wie die Multiplikation läßt sich
auch die Division in mehrere ein-
fachere Schritte zerlegen. Die Division
ist im Prinzip die Umkehrung der
Multiplikation. Schieberichtung der
Multiplikation (nach links) und an-
schließende Addition kehren sich in
der Tat um: Rechtsschieben und Sub-
traktion sind die Schritte bei der

Elektor Dezember 1 974 12-61


1 A 1

Die Vorgänge bei der Division mit dem subtrahiert wird oder nicht subtra-
ALU sind zu denen der Multiplikation hiert wird, dies hängt davon ab, ob
komplementär: Der Dividend steht im A subtrahiert werden kann (Bj = 0)
Rechenregister (RI & R0), der Divisor oder nicht (Bj = 1);
(Zahl A) auf den DATA-Leitungen, das 3. Bj in R2 geschoben wird (nach
Ergebnis, also der Quotient (Zahl B), links).

kommt in R2. Der eventuell entstehen- Auch hierder Vorgang nach


ist

de Rest steht in RI, dem höherwerti- 12 Schritten beendet.


gen Teil von RR (siehe Diagramm). Es folgt nun in Diagramm 7 ein aus-
Auch hier sind wieder 12 Schritte zu führliches Beispiel, die Division
unterscheiden, wobei pro Schritt: 8 885 774 : 2418 = 3674, Rest 2042:

Diagramm 7.

11 .. DATA ..00

1 1 . . . R2 . . . 0 Zahl B 100101 llOOTOl]« — Zahl A (Divisor)


xxxxxxxxxxxx 11 ... RI ... 0111 ... R0... 0
lt
100001111001 011000001110
<
Dividend
I

000011110010 110000011100
xxxxxxxxxxx 1 U- 1 x 100101110010 Schritt 1

011110000000 110000011100
111100000001 100000111000
xxxxxxxxxxl 1 W-lxA 100101110010 Schritt 2
010110001111 100000111000
101100011111 000001110000
xxxxxxxxxl 1 -lxA 100101110010 Schritt 3
000110101101 000001110000
001101011010 000011100000
xxxxxxxxl 110 -OxA 000000000000 Schritt 4
001101011010 000011100000
011010110100 000111000000
xxxxxxxl 1 lOOw-OxA 000000000000 Schritt 5
011010110100 ooon ioooooo
110101101000 001110000000
xxxxxxl 1 lOOlk-lxA 100101110010 Schritt 6

001111110110 001110000000
011111101100 011100000000
xxxxxl 1 10010k- OxA 000000000000 Schritt 7
011111101100 011100000000
111111011000 111000000000
xxxxl 1100101 •lxA 100101110010 Schritt 8

011001100110 111000000000
110011001101 110000000000
xxxll 100101 lk-lxA 100101110010 Schritt 9
001101011011 110000000000
011010110111 100000000000
xxl 1100101 10 -OxA 000000000000 Schritt 10
011010110111 100000000000
110101101111 000000000000
xl 1 100101 101 -lxA 100101110010 Schritt 1

001111111101 000000000000
011111111010 000000000000
111001011010k-0xA 000000000000 Schritt 12
(Quotient) 01111111 lOlOIOOOOOOOOOOOO
(Rest)

1. der Inhalt von RR (Dividend) eine Programmierung: (SRC) Dividend


Stelle nach links schiebt; (höherwertige 12 Bit), (DST) RI (SRC) ;

2. Bj 0 oder 1 wird und demzufolge A Dividend (niederwertige 1 2 Bit), (DST)

12-62
000
0 11 1 l

R0; (SRC) Zahl A, (DST) DL. Das Der Rest, der auf diese Weise übrig nun wie folgt aus: Der Dividend wird
Ergebnis steht in R2, der Rest steht bleibt, ist noch durch A teilbar. Das in RR (RI & R0) eingespeichert, der
inRI. bedeutet natürlich, daß der höherwer- Divisor steht auf den DATA-Leitun-
Im Gegensatz zur Multiplikation taucht tige Teil des Restes verfügbar sein muß. gen; Ausführung der Division (siehe
bei der Division eine Schwierigkeit Bei der Ausführung mit RR und ALU oben). Dann wird kontrolliert, ob R3
auf: Das Produkt von zwei Zahlen ist dies nicht ohne weiteres der Fall. 0 ist. Wenn nicht, wird zuerst der
von je maximal 12 Bit kann niemals Wie aus Diagramm 7 hervorgeht, kann Inhalt von R2 abgespeichert, dann der
länger als 24 Bit werden. Dagegen ist R0 hierzu herangezogen werden. Die REST (RI) in R0 gesetzt, R3 in RI,
es durchaus möglich, daß der Quotient "aufzubewahrenden” Bits könnten und die Division durch A wiederholt.
aus einer Zahl von 24 Bit und einer dann mit dem schrittweisen Schieben Das Ergebnis der neuen Division (in
Zahl von maximal 12 Bit länger als in R0 eingespeichert werden. R2) wird zu dem ersten Ergebnis
12 Bit wird. Die Länge des Ergebnisses Leider stehen die Overflow-Bits erst addiert. Dies kann, falls erforderlich,
B könnte also unter Umständen die zur Verfügung, wenn der Schiebe- so oft wiederholt werden, bis R3 0
Kapazität von R2 übersteigen! vorgang beendet ist. Der ganze Zyklus bleibt.Die Summe der ”Teil”-Quotien-
Schon ein ganz einfaches Beispiel von 12 Schritten müßte also anders ten bildet das endgültige Ergebnis, der
macht dies deutlich: Wenn A = 2 und aufgebaut werden (ähnlich wie bei der REST ist der zuletzt gefundene Rest.
der Dividend > 8192 ist, so wird Multiplikation). Aus diesem Grund Im folgenden Beispiel ist eine Division
B > 4096 und damit länger als 12 Bit. läßt sich hier besser ein viertes Register mit "Overflow” vollständig dargestellt:
Bei der Subtraktion und Verschiebung R3 einsetzen. R3 ist ebenso wie R2 10 078 983 2418 = :

tritt dann ein "Overflow” auf, so daß ein Schieberegister, in das bei jedem 4059 Rest 262 144 =
das Ergebnis nicht mehr exakt sein Schritt ein Overflow-Bit eingespeichert 4059 + (262 144 2418) = :

kann. Dies muß zumindest angezeigt wird. 4059 + 109 Rest 759 =
angezeigt werden. Die Programmierung der Division sieht 4168 Rest 759
jis besteht jedoch eine Möglichkeit,
Riit nur wenig zusätzlichem Aufwand 11 .. DATA ..00
volle Genauigkeit zu erreichen: 1 1 . . R3 . . . 0 1 1 R2 0
. , , , . , ,
1
414 441+44+ 1

Division einer Zahl von maximal 24 Bit xxxxxxxxxxxx |xxxxxxxxxxxx| 100101 liooiol (Divisor)
1 1

durch eine Zahl von maximal 12 Bit,


mit einem Ergebnis von maximal 11 ... RI ... 0 1 1 . . . R0 . . . 0

24 Bit und einem Rest von maximal 100110011100 101100000111 (Dividend)


12 Bit (die größte mit 24 Bit darstell- 001100111001
G 011000001110
bare Zahl ist (dezimal) 16 777 215!). |xxxxxxxxxxxl|< — lxA 100101110010
Hierzu soll Diagramm 5, das allgemeine IxxxxxxxxxxxO |
* —-0 100111000111
I

011000001110
Schema für die Division, noch einmal 001110001110
G 110000011100
kurz betrachtet werden. In dem Fall, |xxxxxxxxxxl lf
«
— lxA 100101110010
daß das Ergebnis B 4095 ist, besteht
der Rest aus weniger als 12 Bit. In
< IxxxxxxxxxxOO «
[ — 101000011100 110000011100
G 010000111001 100000111000
obengenanntem Fall ist jedoch nicht [xxxxxxxxxl 1 |<— lxA 100101110010
jede Subtraktion imstande, den höher-
wertigen Teil des Restes zu "beseiti-
|
xxxxxxxxxOOO |
« — 10101 10001 1 100000111000

gen”, es werden Bits übrig bleiben.


G 010110001111 000001110000
|xxxxxxxxl 1 1 lj *— xA 1 100101110010
Beispiel:
1
xxxxxxxxOOOO f
« — 0 110000011101 000001110000
G 100000111010 © o o © o o ooo

DIVIDEND
\

JMmi ...bI |xxxxxxxl 1 1 1


1|
<— lxA 100101110010
L.a. J/L
AxBll |
|
xxxxxxxOOOOO |
« — 111011001000 00001 100000 1

G 110110010000 000111000000
AxBIO |xxxxxx 1 1 1 1 1 «— lxA 100101110010
{|p 1|
[ |

IxxxxxxOOOOOl < | — 1 4 G 010000011110 000111000000


I AxB9 T G 100000111100 001110000000
I
[xxxxxl 1111 10|< — OxA 000000000000
|
AxB8 |
IxxxxxOOOOOlO >-o 100000111100 001110000000
I
1
G 000001 111 000 011100000000
AxB7 I
Ixxxxl 1111 1 0 H — lxA 100101110010

I

1
I
IxxxxOOOOOlOO H 011100000110 011100000000
AxB6
| |

G 111000001100 111000000000
IxxxiimiöTi}«— lxA
1
|

100101 10010 1

r
I AxB5
±.
I

IxxxOOOOOlOOO )
« — 01001001 1010 1 1 10000000001
-
,
AxB4 G 100100110101 o o oo ooo o o o

— |xxl 1111 loTToj«— OxA


I |

000000000000

I

IxxQOOOO 10000 0 1001001 10101 nooooooooool


|
AxB3 |
[

G.001001101011 o o o o o o oo o o o

AxB2 Ixlllll 101 lOlf« — lxA 100101110010

I
1 1
[

1x00000 100ÖÖÖ}« — 100011111001 100000000000


,

AxBl G:0001 1 10011 oooooooooooo


1 1

[llllllOlloTll« — lxA 1001011 10010


1
1 1

AxBO 1 00000 1000ÖÖÖ> — 100010000001 DOOOOOOOOOOOl 1

1
i i REST (höherer Rest) (erster Quotient) (niedriger Rest)

Diagramm 8. Diagramm 9.

Elektor Dezember 1974 12-63


: 000 ;

Tabelle 1 1. Programm für die Division in doppelter Zahlenlänge. 0040 0063 ADRES1
START, 0041 7706 OP (zähle Inhalt von Adresl dazu
0000 7762 R0 (setze 0:
0001 7754 ZRO (RR.
0042 7762 R0
0043 7776 PC (setze dieses Ergebnis in den PC
0002 7762 R0
0003 0055 REST ( Rest,
0044 0064 SPRUNG, ADRES2 (R3=0; Division nicht vollständig:
• 0045 7776 PC (springe nach Continu
0004 7762 R0
0005 0056 QUOTL (Quotient niedrig
0046 7777 HL (R3 = 0: fertig und stop,
7762 R0 (Ergebnis in Quoth & Quotl.
0006
0007 0057 QUOTH (Quotient hoch;
0047 0055 CONTINL REST
1 (bilde neuen Dividend
0010 0060 TEILE, DEELL (setze
0050 7762 R0 (Rest in R0
0011 7762 0051 7765 R3 R3 nach R 1
R0 (Dividend (

0012 0061 DEELH (in


0052 7763 RI
0013 7763 RI (RR (RI und R0);
0053 0065 ADRES3 (und dividiere erneut
0054 7776 PC (springe nach Teile2)
0014 0062 TEILE2, DIVISOR (teile
0015 7761 DL (durch Divisor
0055 0000 REST 0
0016 7763 RI (hebe RI auf
0056 0000 QUOTL 0
0017 0055 REST (im Rest
0057 0000 QUOTH 0
0020 0057 QUOTH (zähle alten Quotient
0060 5407 TEILL 5407 (niedriger Teil des Dividend
0061 4634 TEILH 4634 (höherer Teil des Dividend
0021 7763 RI ((Quoth & Quotl)
0022 0056 QUOTL (zusammen
0062 4562 TEILER 4562 (Divisor

0023 7762 R0 (mit


0063 0044 ADRES1 SPRUNG (Hilfsadresse für Sprung
0024 7764 R2 (R2 (= neuer Quotient);
0064 0047 ADRES2 CONTINU (Hilfsadresse für Continu
0025 7706 OP 0065 0014 ADRES3 TEILE2 (Hilfsadresse für Teile2
0026 7763 RI (hebe dieses Nachbemerkung: Durch Hinzufügen von R3 lauten die Adressen der
0027 0057 QUOTH (Ergebnis Rechenregister etwas anders als in Teil 3 angegeben:
0030 7762 R0 (wieder auf 7767 CO Carry Out Register (0 oder 2)
0031 0056 QUOTL (zu Quoth & Quotl; 7766 GL Gleich Register (0 oder 2, wenn SRC)
0032 7762 R0 (setze R R 0; 7765 R3 Teil-Overflow Register
0033 7754 ZRO 7764 R2 Multiplikations/Divisions-Register
0034 7765 R3 (vergleiche R3 hiermit: 7763 RI Rechen Register 1 (höherer Teil von RR)
0035 7766 GL (ist Overflow 0 ? 7762 R0 Rechen Register 0 (niedriger Teil von RR)
0036 7766 GL 7761 DL Division
0037 7762 R0 (setze GL-Ergebnis in R0; 7760 VM Multiplikation.

Der Inhalt von R3 ist nicht 0, so daß


nochmals geteilt werden muß. Erst 1 1 . DATA . 00 Diagramm 10.
wird der Inhalt von R2 ”sichergestellt”, 1 1 . , . R2 . . . 0 Imrtt
,

xxxxxxxxxxxx[ 100101 llOQlo] (Divisor)


dann der Inhalt von RI in R0 gesetzt, |
1

der von R3 in RI. Nun folgt die zweite 11 ... RI ... 0 11 ... R0... 0
Division
1
000001000000 ooo o © ©©oo (erster Rest)
o o O O o o oo o o © © © o©©©© o o

xxxxxxxxxxx0|«-0xA 000000000000

R3 ist jetzt 0: Die Division ist beendet.


|
xxxxxxxxxxxO \
* — |

0 000010000001 o o o © o ©©© o ©
[ö 000100000010 © o ©©ooO © o ©
Das Endergebnis besteht aus dem neuen 000000000000
xxxxxxxxxx00|«-0xA
Inhalt von R2 plus dem vorigen (weg- |
xxxxxxxxxxOO \
t — |

0 000100000010
I

oo o oo©©© ©o
gespeicherten) Inhalt. Der Rest ist der [Ö 001000000100 010000001000
letzte Inhalt von RI. |
xxxxxxxxxOOO «-
I
OxA 000000000000
Tabelle II gibt als Beispiel ein voll- |
xxxxxxxxxOOO ]— o o oo o O oo ©o 010000001000
[° 010000001000 ©O© ©©O O ©o©
ständiges Programm für die Division
xxxxxxxxOOOO «- Ox A 000000000000
an. Die SRC- und DST-Bezeichnungen

I t

xxxxxxxxOOOO < 0 010000001000 100000010000 ll


r
[

wurden weggelassen, statt dessen wur-


|

[Ö o oooOO O O O 000000100000
den die Zeilen für DST etwas einge- xxxxxxxOOOOOl«- OxA 000000000000
rückt. Die Zahlen am Anfang jeder xxxxxxxOOOOO «— |

100000010001 © © O o o o © © © © © LL
r
| |

Zeile sind die Speicheradressen, danach u © o oo O© O O O O 000001000000


folgt der Inhalt (beides oktal). xxxxxxOOOOOl <- lxA 1001011 10010

| |

Der Rest, der nach der Division übrig xxxxxxOOOOOO < 0 011010110000 00000 1000Ü00! LL
r
| |

bleibt, hat eine maximale Länge von [ö 110101100000 o o © o o © o o o © o1


xxxxxOOOOO 4- xA 100101110010
12 Bit. Der Divisor, ebenfalls maximal 1 1 1

12 Bit, kann kleiner sein als der Rest. |


xxxxxOOOOOOO )
< — |

0
|

001111101110 ooooioooooooj
[° 011111011100 o o © oo© o © ©o o
Es muß dann nochmals geteilt werden.
IxxxxOOOOOl 10|«-0xA 000000000000
In diesen Fällen reicht die Kontrolle,
|
xxxxOOOOQ~ÖÖoV —0 011111011100 oooiooooooool
ob R3 = 0 ist, nicht aus; es muß auch 1111101 11000 ©© O o © © © o ©oo
Gl
noch untersucht werden, ob der REST xxxOOOOOl 101 t-lxA 100101110010
kleiner ist als der Divisor. Anschlie- 1
xxxOOOOOOOOO |
« — |

-0
[

0110010001 10 001000000000
ßend wird, falls erforderlich, weiter- [ö 110010001100 OIOOOOOOÖOOO
dividiert. dann kann von einer
Erst jxxOOOOOl lÖTTV lxA 100101110010

vollständigen Division die Rede sein. I


xxOOOOOOOOOO I
« — 001 10001 1010 oiooooooooool
011000110100 o ©©©o o o o o o o
H [xOOOOOl 10UÖ>-0xA

000000000000

(wird fortgesetzt)
|
xOOOOOOOOOOO |
< — 01 10001 10100 100000000000

\Ö 110001101001 000000000000
fÖÖOOOl 101 10 1]«- Ix A 100101110010
[
0 00000000000 h — 001011110111 ooooooooooool
(höherer Rest) (zweiter Quotient) (niedriger Rest)

12-64 Elektor Dezember 1974


,

Computer 74
1-46 Elektor Januar 1975

J.T.W. Damen

Im vorangegangenen Teil 5
wurde die Arbeitsweise der
Recheneinheit bei den Operatio-
Teil 6 nen Addition, Subtraktion, Multiplikation und Division beschrieben.
Diese Folge beschäftigt sich mit der praktischen Schaltungsauslegung.

- R2 SRC und DST, Der aus zwei rückgekoppelten Mono-


Die Schaltung ,

— R 3 nur SRC,
,
flops KLOKP und KLOKN (SN 74123)
Die wichtigsten Funktionsblöcke der — bestehende Generator startet, wenn
CO, nur SRC,
Recheneinheit wurden in einem Block- - VDDST 1 wird (siehe auch Bild 29). Die
GL, SRC und DST.
schaltbild zusammengefaßt (Bild 26). Clocksignale werden einerseits in zwei
Mit der Multiplizier- und Dividierlogik
Folgende Blöcke sind zu unterscheiden: sich abwechselnde Signale SCHUIF und
sind alle vorhandenen Register (außer
- der ALU, bestehend aus 6 X CO und GL) und der ALU verbunden. OPAF umgeformt; sie bestimmen die
SN 7 4 1 8 1 Der ALU tauscht seinerseits Informatio- Zeitbereiche, in denen der ALU schiebt
- R und Rj bestehend aus je 2 X
0 ,
nen mit dem RR aus. oder addiert/subtrahiert. Andererseits
SN 74174 (6 D-Flipflops), werden vom Generatorsignal auch die
- R2 und R 3 bestehend aus je 3 X
, Clockimpulse für den 1 2-Teiler VD12DL
SN 74179 (4 Bit-Schieberegister), (SN 7492) abgeleitet. Der Clockgenera-
- die Multiplizier- und Dividierlogik, Multiplizier- und Dividierschaltung
tor ist so aufgebaut, daß er genau die
sie steuert die bereits früher Die für die Steuerung von Multiplikation Anzahl der benötigten Clockimpulse
beschriebenen 1 2 Rechenschritte mit und Division zuständige Schaltung be- liefert, und zwar ohne störende Reset-
den Operationen Addition, Subtrak- steht aus einem Clockgenerator (Bild 27), impulse im Clocksignal.
tion und Schieben, der die einzelnen Schritte auslöst, einem
- der Adressenselektor für alle genann- 1 2-Teiler, der 1 2 Schritte abzählt, einer
Von den Clocksignalen werden zwei
Logik, die die Kriterien für die Addition weitere Signale abgeleitet: RRSCHF und
ten Funktionsblöcke.
Die Verbindungen der Blöcke stellen (beim Multiplizieren) bzw. für die Sub- RROPAF. Diese Impulse liegen zeitlich
traktion (beim Dividieren) prüft, sowie so, daß in der Mitte des aktiven Bereichs
Informationsflüsse dar. Der Adressen-
selektor liefert Steuersignale an: einer Selektionsschaltung für Addieren, vonSCHUIF eine positive Flanke
- VM, nurDST, Subtrahieren und Schieben. Bild 28 (RRSCHF) und in den aktiven Bereich
- DL, nur DST, zeigt die vollständige Multiplizier-/ von OPAF eine negative Flanke
- R<£ & Ri (RR), SRC und DST, Dividierschaltung. (RROPAF) fällt. Dies hat den Zweck,

26
DATA

DATA

SRC
DATA

DST Bild 26. Blockschema der Recheneinheit.


Die Multiplizier- und Dividierlogik (VM & DL)
ist in Bild 27 als Blockschaltbild und in Bild 28

detailliertangegeben, Bild 29 zeigt die zeitli-


•DATA chen Abläufe.
Die Arithmetic and Logic Unit (ALU) und der
ALU-Modus-Selektor sind in Bild 30 bzw.
Bild 31 dargestellt.
Bild 32 zeigt die Rechenregister Ri & R^> das
Multiplikations-/Divisionsregister R2 ist in

Bild 33, das Overflow-Register in Bild 34


• DATA
angegeben.
35 und 36 das
Schließlich zeigen die Bilder
DATA
Carry-Out- und Gleich-Register bzw. den
Adressenselektor.
Computer 74 Elektor Januar 1975 — 1-47

27 28

ratio-
n.
ig.

)no-
'41
nn
!9)
zwei
IF und ALU RR
t die
chiebt
Blockschaltbild Multiplizier/Dividierlogik.
rseits
l die
Multiplizier- und Dividierschaltung (VD).
D12DL
enera-
die
ilse 29
Leset-

vei
HF und
VDDST
VDSTRT
f
L
L J

L
m i

BB B L_

s

eitlich KLOKPN
SS SSSSSSSSSSSS SSESSS SSSS SS SS SS
ereichs
KLOKN
s I3 3B 1
•reich
SCHUIF
| p33Pe33p1b
iKp
OPAF
3f33333333ai aaaaaa
fii
eck,
aiaaaa
VDDRST
dsYrdy
maaaa
BB j
m
g
1

1
wi3P333 ! m9p
a
m
m r
VMOST f 1

L
DLDST
"OP" 15
aaaaa aaaaa a
r

a iB
"AF" Ln -r -r =r -n -r -r ji -T -n -r -T
DLSCKL
p 5a P pP
a aE5
p üi
ALUCO
ja5 EEE 5 E r
SFCRY
0 H ~r—\ L
it. B5n ag g
El El
aaaaaa1aa5!aa
3 2a a
& DL)
I

tertli-
Bild 28
DLR3KL
— [_ _ a
Q3EE31P «n *na Io ffl
ind dar
"R3"
j HH HEa 3HBaH
w.
VDRROA pi Bl
:

4
in
das VDRRKL
{
S » SCHIEBEN
aI
O - ADDIEREN A *
i
SUBTRAHIEREN s EEEEEiB|E1E1
Zeitdiagramm: Multiplizieren — Dividieren.
das
n
.

1-48 — Elektor Januar 1975 Computer 74

daß der ALU jedesmal, wenn SCHUIF und 29 zu entnehmen. (Die gewählten Modus dadurch zur Wirkung, daß die
aktiv ist (”1”), in den Schiebemodus Beispiele stimmen mit der Multiplikation neue Information tatsächlich in das
kommt. Der Inhalt von RR
liegt dann aus Diagramm 4 und der Division mit Rechenregister eingelesen wird;
um eine Stelle nach links verschoben an Overflow, 1. Teil, aus Diagramm 9 VDR2KL gibt das neue Bj frei.
den Ausgängen des ALU und daher auch überein; siehe Teil 5 dieses Artikels). Während der Multiplikation bestimmt
an den Eingängen des gleichen Rechen- Zuerst die Multiplikation: R20UT, das Bj, also der Ausgang von R 2 ob addiert ,

registers. Ausgangssignal vonR2 (Bi!) wird über werden muß oder nicht. Dagegen muß
Der Schiebevorgang' ist erst vollzogen, VR20UT und VDR2IO im NAND- die Subtraktion stattfinden,wenn sub-
wenn die neue Information auch tat- Gatter VDRROA mit RROPAF ver- trahiertwerden kann. Das ist der Fall,
sächlich in RR eingelesen wurde, hierzu knüpft. Zum Ausgang dieses Gatters solange RR >
DATA ist. Carry- Am
dient RRSCHF. gelangen (invertiert!) nur die Impulse Ausgangssignal des ALU läßt sich dies
RROPAF hat Funktion
die gleiche von RROPAF, die mit R20UT Zusam- leichterkennen. Dieser befindet sich ja
bezüglich der Addition beim Multipli- menfallen. Die Addition erfolgt daher jedes Mal im Subtrahiermodus! Das ist
zieren und der Subtraktion beim ausschließlich bei Bj = 1 jedoch nicht das einzige Kriterium für
Dividieren. Bei RROPAF sind die akti- Wenn Bj = 0 ist, ändert sich der Inhalt die Durchführung der Subtraktion.
ven Flanken negativ. RROPAF muß von RR nicht. Das über VDRROA Aus den Diagrammen 7, 9 und 10 geht
nämlich noch eine UND-Schaltung gewonnene Signal wird mit RRSCHF hervor, daß die Subtraktion auch

passieren, die das ”Ja oder Nein” für die kombiniert und als Clocksignal den möglich ist, wenn beim vorangegangenen
Addition bzw. Subtraktion untersucht. beiden SN 74174 zugeführt, die das RR Schieben ein "Overflow” auftrat (das > ]

Wie aus Bild 29 hervorgeht, wird bei der bilden. ganz links stehende Bit in den erwähn-
Multiplikation ”OP” und bei der Division VDR2KL, auch vom Clocksignal des ten Diagrammen). Das Kriterium lautet
”AF” 12mal Der ALU arbeitet bei
aktiv. Generators abgeleitet, schiebt R 2 am also: Entweder Subtrahiercarry ist 1 :

jedem Schritt abwechselnd im Schiebe- Ende eines jeden Schrittes um ein Bit oder Schiebecarry ist 1 Das NAND- .
1

und im Zu/Ab-Modus. Die UND-Schal- weiter, so daß Bj+j erscheint. Gatter DLA >
B prüft dies. An einem 1

tung sorgt dafür, daß das Clocksignal nur Zusammenfassung: SCHUIF und OPAF Eingang liegt der abgehende Carry des
dann zum RR gelangt, wenn tatsächlich setzen den ALU abwechselnd in den ALU (Subtrahiercarry), am anderen die 1

addiert oder subtrahiert werden muß. Schiebe- und den Zu/Ab-Modus, Information vom Flipflop SFCRY. 1

Wie dies vor sich geht, ist aus Bild 28 VDRRKL bringt den vorhandenen Hierin ist der Carry vom vorhergehenden *


Schieben gespeichert (eingelesen durch
DLSCKL, direkt von RRSCHF abgelei-
30 tet).
J

>VOI
Dadurch, daß der ALU das Carrysignal 1

invertiert liefert (es wird auch invertiert (

ALU12
von SFCRY gespeichert), muß für (

ALUM-
Lcr eo| »ALUCO
>
DLA B ein ODER-Gatter mit 1

(ALUMOD)
ALUS3- inver tieren den Eingängen gewählt wer- *

ALUS1- ,S2 A-B * ALUGL

Rill (RU-
1
S0
3 d, F3 ALU111
den: A • B = A + B(de Morgan’sches s

'DLDST (ADRSEL) - 83
R 1 10 <R1)- 2 F2 ALU110 Gesetz). Die Information, die das Gatter

u R109 (RI)-
R108 (R1)- -E n ALU109 liefert,wird zweifach verwendet. Zum ^
- ALU108
einen ist dies Bf, als solches gelangt es zu I

R2 (über DLR2IN und VDR2IN, sie 5

unterscheiden Multiplikation und a


Division) und wird dort gespeichert. c
R107 (R1>- - ALU107
- ALU106 Zweitens ist es das Kriterium für f
R105 (R1)- ALU105 Subtrahieren (Bj = 1 ) oder nicht Sub- t
ALU104
Hi trahieren (Bj = 0), der DLA
gang ist daher mit VDRROA
>
B-Aus-
verbunden
g
n
(ebenfalls über, Zwischengatter). I
Es kommt hier eine mit der Multiplika- v
R103JR1)- - ALU103
ALU10 tion übereinstimmende ’Tmpulsausblen- I
R102 (R1)- ALU102
R101 (R1)- » ALU101 düng” zustande: Nur die Impulse von a
R100IRD- ALU100
RROPAF werden durchgelassen, die mit u
Bj = 1 zusammenfallen, nur unter dieser
D Voraussetzung wird tatsächlich
subtrahiert.
R011 (R0) -
» ALU011
DATA 11 » 4Tb
-, ALU010 Das Kriterium für Subtrahieren war: H!»>“0‘WnaaN

- ALU009 entweder der Schiebecarry = 1 oder


(R0) -
DATA 10 JTb-
» ALU008
Subtrahiercarry - 1. Ist sowohl das
»4Tb~ Subtrahiercarry als auch das Schiebe-
DATA09
£ carry = 1 ,
dann ist das letzte an sich
DATA08 »4Tb-
überflüssig. Durch Subtraktion kann
DATA07 —o>- 1 [
~~
R007 (R0)~
R006 R0) -
R005 (R0H
( -

-
ALU007
ALU006
ALU005
dieses ”Schiebebit” nicht beseitigt
werden. Dies ist vielmehr der Overflow,
DATA06 ALU004
von dem bei der Division die Rede war,
DATA05 —«o>- und der im Rest übrig bleibt.
13 Es ist also das Kriterium dafür, daß eine
DATA04 »mp—
1 nach R 3 übertragen werden muß.
DATA03 »fTfo- ALU003
R002 (R0) -
ALU002 NOR-Gatter DLR3IN ist dafür CI

P R001 ( RO) -
ALU001 verantwortlich. In Übereinstimmung
DATA02 »THP- G
DATA01 00“ u '
(RO)- - ALU000
mit DLA >
B arbeitet d ieses N OR- _
Gatter als UND-Gatter: A + B = A • B.
&

EP- R 3 und R2 erhalten gleichzeitig j.,

GLDST (ADRSEL) - (während der Division) ein Clocksignal, jr


VMDST (ADRSEL) - so daß Bj in R 2 und das Overflow-Bit
ALUDST (ADRSEL)- Arithmetic and Logic Unit (ALU). Zu dem £
ALU-Modus-Selektor führen die Verbindungen in R 3 gespeichert werden.
p,
oben im Schließlich spalten zwei UND-Gatter
links Bild. ^
OPAF das Signal in OP (Multiplikation: V{
.

putar 74 Computer 74 Elektor Januar 1975 — 1-49

die
>
VMOPAF) und AF (Division: DLOPAF) ken Die Clockeingänge erhalten
dies. den. Ferner werden mit den DATA-
sie
las
auf. Diese Signale gelangen zusammen dabei einen von RI DST und R0DST Leitungen über die bekannte, aus drei
mit SCHUIF zu einer Schaltung, die den abgeleiteten Clockimpuls: R1DSTK und SN 7438 bestehende Schaltung verbun-
Modus des ALU bestimmt. R0DSTK. den, wenn Rj oder R0 als SRC adressiert
immt werden. Die Steuersignale sind hierbei
addiert Im zweiten Fall muß die Information
Arithmetic and Logic Unit ALU gespeichert werden. Die Aus- RI SRC und R0SRC.
i muß des
n sub- In Bild 25 wurde bereits angedeutet, wie gänge des ALU müssen dann mit dem
die einzelnen ALU’s vom Typ SN 74181 Register verbunden werden, außerdem
Fall, R 2 und R 3
Ty- miteinander verbunden werden. Sechs ist ein geeigneter Clockimpuls erforder-
dieser IC’s bilden den kompletten ALU Das Multiplikations-/Divisionsregister R2
dies lich.
1

für arithmetische und logische Operatio-


und das Dividier-Overflowregister R3
sich ja Was das Wenn Ri und R0
erste betrifft: bestehen beide aus je drei IC’s vom Typ
)as ist nen mit einer Kapazität von 24 Bit
(Bild 30).
nicht als DST auftreten, sind die Ein- SN 74179: 4 Bit-Parallel/Seriell-Ein,
m für gänge automatisch mit dem ALU ver- Parallel- Aus-Schieberegistern (Bild 33
n.
Wie schon früher erwähnt, sind die
bunden. Die Eingangsselektionsschal- und 34). In Kaskade geschaltet bilden
geht
A-Eingänge mit den Ausgängen des
3 tung mit den vierfachen UND-ODER- sie ein 1 2 Bit-Schieberegister. Sie
Rechenregisters (R0 & R t ) dauernd
i
Gattem SN 74157 sorgt dafür. Das besitzen drei Kommandoeingänge: CL
verbunden. Die B-Information kommt
angenen
über die DATA-Leitungen zum ALU.
Clocksignal kommt von VDRRKL (Clock), L (Load) und S (Shift).
(das (Multiplikation und Division) oder von Abhängig von einer 1 an L oder S wird
Insgesamt sind 12 DATA-Leitungen
wähn-
vorhanden. Die "untersten” drei ALU’s
ALDSTK (ALU als DST). Die drei bei der negativen Flanke des Clockim-
lautet genannten Clocksignale (VDRRKL, pulses eingelesen oder geschoben. S ist
sind mit ihnen in dem Fall verbunden,
st 1 ALDSTK und RI DSTK/R0DSTK) sind über L dominant: Wenn S = ”1” ist,
daß der ALU selbst als Funktionseinheit
4D- negative Impulse, im Ruhestand sind die wird geschoben. Erst wenn S = ”0” und
programmiert wird.
inem
Auch beim Multiplikationszyklus ist dies
Clocksignale 1 . Das UND-Gatter, das die L = ”1” ist, wird die Information von
y des drei Signale verknüpft, hat daher ODER- den Paralleleingängen in das Register
der Fall (vergleiche Diagramm 4). Außer-
Funktion! übernommen.
dem müssen die DATA-Leitungen mit
den untersten drei ALU’s verbunden -
Die Ausgänge von Rj und R0 sind mit R2 muß als SRC und als DST arbeiten
ähenden den (A-)Eingängen des ALU fest verbun- können, R3 nur als SRC. Über ihre
durch werden, wenn GL als Vergleicher (DST)
arbeitet. Die drei Signale GLDST,
bgelei-
VMDST und ALUDST (vom Adressen- 31
SCHIEBEN (VD)
signal
vertiert
selektor) schalten diese
durch.
Verbindungen
Nur bei der Division gelangen VMOPAF
DLOPAF (VD)
(VD)
H >1

ir
die Informationen der DATA-Leitungen
zu den "obersten” drei ALU’s (siehe
GLDST (ADRSEL)
ALUDST (ADRSEL)?
1
>1
H ALUM
t wer-

ches
Diagramm 7, 9 und 10). In diesem Fall
schaltet DLDST durch. H1
5 Gatter

Zum ALU-Modus-Selektor
DST05
H >1
igt es zu Die sechs Modus-Eingänge (M, Cm, S3,
ALU
,

1
sie S 2 Sj , S 0) des
,
werden von einer
aus 6 IC’s vom Typ SN 7454 bestehen- H bO>—— ALUCI
ert.

Sub-
den Schaltung gesteuert (Bild 3 1). Im
Normalfall,
tionen als
wenn eine der ALU-Funk-
DST gewählt wird, sind die DST04
H
Aus- genannten Eingänge (invertiert oder
bunden nicht invertiert) mit den DST-Leitungen
DST05, 04, 03, 02, 01 und 00 H >1

iplU^
usWBP
verbunden.
Die anderen Modi, in denen der ALU
H —— ALUS3
: von
die mit
arbeiten kann, sind: Schieben, Addieren
und Subtrahieren. Schieben kommt
DST03
'01J H
r dieser zustande durch SCHUIF, Addieren
durch VMOPAF und Subtrahieren

tar:
durch DLOPAF bei der Division, durch
GLDST beim Vergleich. Aus dem
H >1

ler 2er-Komplement-Subtraktionsmodus bei fl WD>—— * ALUS2


as
.ebe-
beim Vergleichen ein
der Division wird
1 er-Komplement-Modus. H
ich
mn
An den invertierenden Eingängen der
SN 7454-IC’s kommt dies entsprechend
zum Ausdruck: 100 110 (2er-Komple-
DST02
H >1
;t

ment) und 110 110 (ler-Komplement).


fl
irflow,
le war, GLDST ist daher mit dem ALUCI- H pm>—— ALUS1

aß eine
Eingang verbunden und legt hieran beim
Vergleich eine 1 H
iß.

ung
Das Rechen Register RR
R t und R 0, die zusammen
Die Register
DST01
H & >1
R- _ .

das Rechenregister bilden, bestehen aus


\ • B. &
IC’svom Typ SN 74174. Diese Register
können auf zwei verschiedene Arten mit ALUS0
&
Signal,
Informationen versorgt werden (Bild 32). '0U
/-Bit
Zum ersten sind Ri und R0 als DST &
DST00
programmierbar. Die Eingänge sind in
tter 6xSN7454
diesem Fall mit den DATA-Leitungen ALU-Modus-Selektor (ALUMOD).
cation:
verbunden, R1DST bzw. R0DST bewir-
Computer 74 ^
Serieneingänge erhalten beide Register r-
Informationen von der Multiplizier-/
Dividierschaltung. Der (Serien-) Ausgang
von R 2 fuhrt wieder zu dieser Schaltung
zurück (und liefert Bj bei der Multiplika-
tion).
Der S-Eingang von R2 wird beim Multi-
plizieren und Dividieren (VDDST) 1, der
von R 3 nur beim Dividieren (DLDST).
Das Clocksignal für beide Register
stammt wieder von der Multiplizier-/
Dividierschaltung (VDR2KL und
DLR3KL); für R 2 im Fall, daß R 2
DST ist, jedoch von der Adress-Selek-
tionsschaltung (R2DSTK).
Die Paralleleingänge von R 3 werden
nicht benutzt. Die SN 7400-Serie stellt
kein Register zur Verfügung, das
ausschließlich serielle Eingänge und
parallele Ausgänge besitzt.
In den verschiedenen Schaltungen
kommt ein Signal PWRCLR
vor. Es han-
delt sich um ein Resetsignal, das nach
Einschalten der Betriebsspannung einen
definierten Anfangszustand herstellt
(PoWeRCLeaR). Dieses Signal gelangt
(als ”BUS”-Leitung) zu allen Einheiten,
bei denen Zähler, Register usw. zu Be-
ginn gelöscht werden müssen.

Carry-Out- und Gleich-Register


In Bild 35 ist die Schaltung von CO und
GL angegeben. Zwei D-Flipflops
(SN 7474) erhalten ihr Data-Signal (D)
von ALUCO und ALUGL. Die Data- _
Information wird in das CO-Register
wenn ALU oder GL als
eingespeichert,
DST auftreten (ALDSTK und
GLDSTK); GL wird ausschließlich bei ££
einem Vergleich-Auftrag verändert -gj

(GLDSTK). In der Funktion als SRC äl


setzen die Flipflops ihre Information, i

gesteuert von COSRC und GLSRC, auf


die DATA-Leitung DATA 01. —
GL
Adressenselektor al

Zum Schluß Adressen-Selektions-


soll die
schaltung betrachtet werden. Diese
besteht wie allgemein gebräuchlich aus
zwei Teilen: der eine für die SRC-, der —
ca,

andere für die DST-Adressen. Als SRC


können (über die Selektor-Eingangs- ™ J

gatter) gewähltwerden: CO (7767), w 'e

GL (7766), R 3 (7765), R 2 (7764), R! da s


(7763) und R0 (7762). VM
Die höheren 9 Bits der Adresse lauten Die
hier 111 111 110 bzw. 776, die niedrige- früh
ren 3 Bits bezeichnen eine der genannten, de fr
Einheiten. Die Selektion übernimmt ein den
SN 74155, ein doppelter 2 nach 4-Deko- Md
der, verwendet als 3 nach 8-Dekoder förr
(siehe Bild 36). akti
Auch auf der DST-Seite ist eine solche ses 1

Schaltung zu finden. Erst werden die l ed e


höheren 6 Adressen-Bits auf 111 111 dam
(77..) untersucht, dann folgt eine Unter- Y^r:
Scheidung an Hand der folgenden 2 Bits: e mg
Wenn nicht beide 1 sind, handelt es sich Von
um eine ALU-Funktion (7700 ... 7757);
^atii
sind beide 1 und ist außerdem DST03 0
e' c
(776.), so ist von einem Rechenregister
^
D E\
oder von Multiplikation/Division die
Rede.
S
YU
Die erste Gruppe wird mit AL(U), die
er*
zweite mit AR (von ARithmetic) (

bezeichnet. Schließlich werden


riputer 74 Computer 74 Elektor Januar 1975 — 1-51

egister
der-/
A.usgang
33 34
R2SRC (ADRSEL)
shaltung R3SRC (ADRSEL)
ultiplika-

n Multi-
T) 1, der
.DST).
er
zier-/
d

Selek-

rden
ie stellt

und

en
. Es han-
i nach
ag einen
stellt

elai||^
nhtW,
zu Be-

ister
CO und
s

tial (D) Overflow- Register R3.


Data-
jister
GL als

COSRC (ADRSEL)
ich bei
ALDSTK CO

;
ert
SRC
ation,
11 ESSO«'
ALUCO
(ALU)
&

P-H
Im k
DATA01

SN7438
RC, auf SN7474
GLSRC (ADRSEL)
GL DATA01
GLDSTK (ADRSEL)
"Ur
C Q P-
ALU6L (ALU)
D SN7438
elektions-
SN7474
.esej

ich Carry-Out- & Gloich-Register (CO und GL).


C-, der
Is SRC
ings- im letzten Fall die niedrigsten 3 Bits
67), wieder durch ein SN 74155 ausgewertet,
>4), Ri das Signale an GL, R 2 R, Ra, DL und
, ,

VM gibt.
lauten Die DEVice SELector-Schaltungen iin
niedrigefrüheren Teilen des Artikels besprochen)
enannte: impulsförmige Signale, die mit
.liefern

mmt den -DST-Signalen die


ein DSTK-Signale
. 4-DekO' bilden. Die Polarität dieser impuls-
oder förmigen Signale ist so gewählt, daß die
aktive Flanke stets am Ende des Impul-
solche ses liegt. Das — DST-Signal selektiert für

:n die |jedes Register das Data-Eingangssignal,

1 111 dann wird nach einer ausreichend langen


ie Unter- Verzögerung die Data-Information
en 2 Bits:! eingelesen.

1t es sich Von VMDST und DLDST ist VDDST


7757);.: abgeleitet; es zeigt an, daß eine Multipli-
)ST03 O ption oder Division stattfindet. Das
register gleiche Signal hindert die betreffende
n die DEVSEL-Schaltung daran, DSTRDY zu
steuern. Bei der Multiplikation/Division

J), die wird DSTRDY durch VDDRDY gesteu-


ert (siehe Bild 28 ).
:)

(wird fortgesetzt)
^
^
M