-
Die Erfindung betrifft eine mit hoher Geschwindigkeit
arbeitende Keller- oder Stapelschaltung für ein Register in
einem Einchip-Mikrorechner
Ein Mikrorechner, der eine CPU (zentrale
Prozessoreinheit) einen ROM (Nur-Lese-Speicher) einen RAM (Speicher
mit wahlfreiem Zugriff) usw. auf einem Einzelchip umfaßt,
überträgt Daten in jedem Teil unter Verwendung von
gemeinsamen Busleitungen. Wenn eine Operation durch Übertragung
von Daten aus dem RAM zu den internen Registern der CPU
vorgenommen wird, wird der Prozeß in Übereinstimmung mit
einem zuvor im ROM gespeicherten Befehl ausgeführt.
-
Ein solches Programm kann als eine Routine verriegelt
werden, die gewöhnlich durch zahlreiche Befehle gebildet
wird. Wird bei einem solchen Prozeß eine Hauptroutine in
einer festgelegten Folge ausgeführt, muß, falls eine IRQ
(Unterbrechungsanforderung) durch eine externe Quelle
verursacht wird, wenn die Routine eine bestimmte Stufe
ereicht, der Prozeß der Hauptroutine auf dieser Stufe
unterbrochen und die IRQ-Routine mit Priorität bearbeitet
werden. In diesem Fall ist, da die IRQ-Routine ebenfalls
zahlreiche Register nutzt, ein Stapelprozeß erforderlich.
D.h. der Inhalt der Register wird im Ausführungszustand
einer bestimmten Hauptroutine in einen Bereich des RAM
gesichert, der durch einen Stapelzeiger zugewiesen wird,
und anschließend wird, nach Fertigstellung der Bearbeitung
der IRQ-Routine, die Bearbeitung der Hauptroutine von einem
Befehl wiederaufgenommen, der dem bestimmten Befehl folgt,
und folglich wird der gesicherte Inhalt in die zuvor
genutzten Register wiedereingespeichert.
-
Wenn - wie im herkömmlichen Stapelsystem - ein
interner BUS verwendet wird, ist für jede Registerübertragung
ein Zyklus erforderlich (es wird angenommen, daß die Anzahl
der Bits des Registers dieselbe ist wie die Anzahl der
Leitungen des Busses). Dies führt insofern zu einem
Nachteil, daß, je größer die Zahl der Register ist, umso mehr
Zeit für die Stapelung erforderlich ist. Eine ähnliche
Situation tritt auf, wenn durch einen
Rückkehrunterbrechungsbefehl (RTI) eine Rückkehr aus der Hauptroutine
erfolgt.
-
Zur Verbesserung dieser Situation wurde ein System
vorgeschlagen, bei dem Register, die ausschließlich für den
Stapel verwendet werden, intern in der CPU vorgesehen sind.
Da bei diesem System eine Datenstapelung für den RAM nicht
notwendig ist, kann eine hohe Geschwindigkeit realisiert
werden (die Stapelung kann durch einen Zyklus ausgeführt
werden). Die ausschließlich für die Stapelung verwendeten
Register sind jedoch zweckbestimmte Hardware und können
somit nicht für das Speichern und Lesen willkürlicher Daten
verwendet werden, wie das in einem RAM der Fall ist, und
dementsprechend ist auch ihre Verwendung für einen anderen
Zweck nicht möglich. Vor allem ist eine Verschachtelung
durch die Kapazität der zweckbestimmten Register begrenzt,
und folglich müssen für eine mehrstufige Verschachtelung
mehrstufige zweckbestimmte Stapelspeicherregister
vorgesehen sein. Das bedeutet, daß eine große Registerkapazität
erforderlich ist und daß darüber hinaus, da diese Register
nicht immer verwendet werden, ein großer Teil der Kapazität
vergeudet wird.
-
In "Hochintegrierte Digitalschaltungen und
Mikroprozessoren", H. Bernstein, Pflaum Verlag, München 1978, S. 239,
339-343, wird ein Mikroprozessor beschrieben, der eine CPU
mit einer Vielzahl interner Register, einen RAM, eine
Datenbusleitung, die zwischen der CPU und dem RAM
vorgesehen ist, sowie ein Verbindungsteil zwischen dem RAM und den
internen Registern der CPU umfaßt.
-
Im IBM Technical Disclosure Bulletin, Bd. 24, Nr. 7B,
Dezember 1981, New York, S. 3896-3897, A. Blum, wird ein
Prozessorchip eingehend beschrieben, der Mehrfachsätze von
Mehrzweckregistern in eingebetteten Feldern auf dem Chip
besitzt. Diese eliminieren lange Übertragungsvorgänge der
Inhalte von Mehrzweckregistern zu den und von den
Hauptspeicherbereichen bei Mehrprogrammaufgabenumschaltung.
-
Eine Aufgabe der vorliegenden Erfindung ist es, eine
Parallelverarbeitung des Stapelspeichers vorzusehen
Die erfindungsgemäße Vorrichtung wird in Anspruch 1
dargelegt.
-
Wenn also die Daten aus den internen Registern
gestapelt werden, wird eine Wortleitung des Speichers ausgewählt
und jedes Bit der Daten zur selben Zeit zu einer
Speicherzellengruppe übertragen, die mit der Wortleitung über die
erweiterte Bitleitung des Speichers verbunden ist.
-
Ausführungsformen der Erfindung werden nun unter
Bezugnahme auf die beiliegenden Zeichnungen beschrieben, in
denen:
-
die Fig. 1A, 1B und 1C Diagramme zur Erläuterung des
Betriebes eines herkömmlichen Einchip-Mikrorechners sind;
-
die Fig. 2A und 2B schematische Diagramme sind, die
Merkmale eines erfindungsgemäßen Mikrorechners zeigen;
-
Fig. 3 ein Blockdiagramm ist, das Einzelheiten der
Diagramme 2A und 2B zeigt;
-
Fig. 4 ein Blockdiagramm einer Ausführungsform der
vorliegenden Erfindung ist;
-
Fig. 5 ein Blockdiagramm ist, das eine CPU der Fig. 3
im Detail zeigt;
-
Fig. 6 ein schematisches Diagramm ist, das im Detail
ein Verbindungsteil zwischen internen Registern einer CPU
und eines RAM von Fig. 4 zeigt;
-
Fig. 7 ein Ablaufdiagram zur Erläuterung des Vorgangs
der Stapelung der Registerdaten ist; und
-
Fig. 8 ein Blockdiagramm einer anderen Ausführungsform
der vorliegenden Erfindung ist.
-
Ein Mikrorechner, der eine CPU (zentrale
Prozessoreinheit), einen ROM (Nur-Lese-Speicher), einen RAM (Speicher
mit wahlfreiem Zugriff) usw. auf einem Einzelchip umfaßt,
überträgt die Daten in jedem Teil durch Nutzung einer
gemeinsamen Busleitung BUS, wie das in Fig. 1A gezeigt
wird. D.h., wenn eine Operation durch das Übertragen von
Daten aus einem RAM 2 in interne Register R&sub1;, R&sub2;, . . . einer
CPU 1 ausgeführt wird, wird die Prozedur durch Ausgabe
eines zuvor in einem ROM 3 gespeicherten Befehls
durchgeführt. Wenn z. B. die Register R&sub1;, R&sub2; in der CPU 1 als
Akkumulatoren A, B definiert werden und eine zusätzliche
Operation A + B in einer arithmetisch-logischen Einheit (ALU) 4
in der CPU durchgeführt wird, wird das Programm davon im
wesentlichen wie folgt ausgedrückt.
-
M&sub1; → A MOV
-
M&sub2; → B MOV
-
A + B → A ADD
-
Der erste Schritt zeigt, daß die Daten in der RAM-
Adresse M&sub1; zum Akkumulator A verschoben (MOV) werden; der
zweite Schritt zeigt in ähnlicher Weise, daß die Daten in
der RAM-Adresse M&sub2; zum Akkumulator B verschoben werden; und
der dritte Schritt zeigt, daß die Inhalte der Akkumulatoren
A und B addiert (ADD) werden und das Ergebnis der Addition
im Akkumulator A geschrieben wird.
-
Ein solches Programm kann als eine Routine verriegelt
werden, die gewöhnlich durch zahlreiche Befehle gebildet
wird. Wenn nun, wie in Fig. 1B gezeigt, eine Hauptroutine
mit einer festgelegten Folge . . . , h, i, j, k, . . .
ausgeführt wird, muß, falls eine IRQ (Unterbrechungsanforderung)
aus einer externen Quelle empfangen wird, wenn die Folge
die Stufe i erreicht, die Bearbeitung der Hauptroutine auf
dieser Stufe unterbrochen und die IRQ-Routine mit Priorität
bearbeitet werden. In diesem Fall ist, da die IRQ-Routine
auch die Register R&sub1;, R&sub2;, . . . nutzt, der Stapelungsprozeß
erforderlich, wie das in dem Beispiel der Fig. 1C gezeigt
wird. D.h. der Inhalt der Register R&sub1;, R&sub2;, . . . wird im
Zustand der Ausführung der Hauptroutine bis zum Befehl i in
einen Bereich des RAM gesichert, der durch einen
Stapelzeiger zugewiesen wird, und nach Fertigstellung der
Bearbeitung der IRQ-Routine wird die Bearbeitung der
Hauptroutine von dem Befehl wiederaufgenommen, der dem Befehl i
folgt, und der gesicherte Inhalt kann in die Register R&sub1;,
R&sub2;, . . . zurückgeführt werden.
-
Wie bereits erwähnt, wird in dem herkömmlichen
Stapelungssystem der interne BUS für die Sicherung des Inhalts
der Register R&sub1;, R&sub2;, . . . genutzt, und eine bestimmte Zeit
eines Zyklus ist für jede Registerübertragung erforderlich
(es wird angenommen, daß die Anzahl der Bitpositionen
dieselbe ist wie die Anzahl der Leitungen des Busses). Dies
bringt insofern einen Nachteil, daß, je größer die Zahl der
Register ist, umso mehr Zeit für die Stapelung erforderlich
ist. Fig. 1C zeigt den Stapelungsprozeß von n internen
Registern R&sub1;-Rn entlang einer Zeitachse t, und die
Stapelung aller Registerdaten wird von der Zeit an
abgeschlossen, bei der eine IRQ bei einem n-ten Zyklus auftritt. Zu
einer ähnlichen Prozedur kommt es, wenn durch eine
Rückkehrunterbrechung RTI eine Rückkehr aus der IRQ-Routine
erfolgt.
-
In der vorliegenden Erfindung wird eine
Parallelbearbeitung des Stapels aus den internen Registern der CPU zum
RAM unter Anwendung von vom RAM aus verlängerten
Bitleitungen durchgeführt, welche eine spezielle Route bilden,
die sich von den gemeinsamen Busleitungen unterscheidet.
-
Die Fig. 2A und 2B sind schematische Diagramme von
Einzelheiten der vorliegenden Erfindung. Fig. 2A zeigt
einen relevanten Teil einer CPU 11 und eines RAM 12, und
Fig. 2B zeigt den Aufbau einer Speicherzelle in der CPU 11.
In der Zeichnung sind BL und ein Paar der
Bitleitungen, MC ist in dieser Ausführungsform eine statische
Speicherzelle, R&sub0;, R&sub1;, . . . sind interne Register in der CPU
11, 14 ist eine arithmetisch-logische Einheit (ALU), und WL
ist eine Wortleitung. Die Speicherzelle MC ist als ein
Flipflop-Typ ausgebildet, in welchem die Inverter I&sub1; und I&sub2;
querverbunden sind. Die Zelle ist über die Transfergates Q&sub1;
und Q&sub2; mit den Bitleitungen BL bzw. verbunden. Wie in
Fig. 2A gezeigt wird, ist jede Bitposition der internen
Register R&sub0;, R&sub1;, . . . in der CPU 11 direkt verbunden (im
Detail über ein in der Zeichnung nicht gezeigtes Gate) mit
jedem Paar von Bitleitungen des Daten-RAM 12.
-
Fig. 3 ist ein Diagramm, das Einzelheiten der Fig. 2A
zeigt. In dieser Ausführungsform wird ein
Einchip-Mikrorechner als ein 8-Bit-Typ gestaltet, und ein 8-Bit-Datenbus
(BUS) wird zwischen dem RAM 12 und der CPU 11
angeschlossen. Der RAM 12 wird in acht Bereiche D&sub0;-D&sub7; unterteilt.
-
Davon ausgehend, daß es 128 Paare von Bitleitungen BL,
gibt, gibt es in jedem Bereich 16 Paare von Bitleitungen.
Die 16 Paare von Bitleitungen sind über ein
Ansteuerungsgatter (nicht gezeigt) und einen Decoder 15 mit einem
Datenbus (BUS) verbunden, und da die acht Bereiche D&sub0;-D&sub7;
jeweils als ein Bit ausgebildet sind, sind in dem
vorgenannten Teil entsprechend acht Bits ausgebildet. In
jedem Bereich läuft eine Vielzahl von Wortleitungen WL
horizontal zu einem Reihendecoder 16, diese werden in der
vertikalen Richtung von einer Vielzahl von Bitleitungen
gekreuzt, und an jedem Kreuzungspunkt ist eine
Speicherzelle MC angeordnet. Davon ausgehend, daß in der
vorliegenden Ausführungsform ein Bit für jedes Paar von Bitleitungen
vorgesehen ist, können die 16 internen 8-Bit-Register in
der CPU 11 bereitgestellt werden. R&sub0;, R&sub1;, . . . , R&sub1;&sub5;
kennzeichnen diese 16 Register in der CPU 11 oder jedes Bit
davon, und b&sub7;, b&sub6;, . . . in der CPU 11 zeigen ein achtes Bit,
ein siebentes Bit, . . . eines jeden Registers an. R&sub1; zeigt
einen internen Bus in der CPU 11 an, wobei acht von diesen
Bussen in diesem Beispiel vorgesehen sind. Ein
Verbindungsteil des RAM 12 und ein gemeinsamer Bus BUS sind dieselben,
wie sie gewöhnlich verwendet werden, doch in der
vorliegenden Erfindung sind bei jedem Paar der Bitleitungen im RAM
die Enden entgegengesetzt dem Verbindungsteil verlängert
und über Gates G mit jeder Bitposition der internen
Register in der CPU 11 verbunden. Demzufolge sind die CPU 11
und der RAM 12 auf dem Chip aneinander angrenzend, wie das
in Fig. 3 gezeigt wird.
-
Die normale Datenübertragung zwischen der CPU 11 und
dem RAM 12 erfolgt durch Nutzung der Busleitung BUS. Gates
und Decoder, die durch die Ausgabe des Decoders gesteuert
werden, existieren zwischen dem BUS und jedem
Datenbitbereich des RAM 12, und nur ausgewählte 8-Bit-Leitungspaare
sind mit dem 8-Bit-Bus BUS verbunden, während das Sichern
und Wiedereinfangen der Daten der internen Register R&sub0;, R&sub1;,
. . . , R&sub1;&sub5; direkt über den verlängerten Teil EBL der
Bitleitungen ausgeführt wird, ohne über den gemeinsamen Bus BUS
zu gehen. Beispielsweise werden die Datenbits b&sub7;, b&sub6;, . . .
im Register R&sub0; über den verlängerten Teil EBL der
Bitleitungen in den Bereichen D&sub7;, D&sub6;, . . . des RAM 12 gespeichert.
Dies ist dasselbe für die anderen Register R&sub1;, R&sub2;, . . . , und
demzufolge werden alle Bits der Bereiche D&sub7;-D&sub0; der
Register R&sub0;-R&sub1;&sub5; gleichzeitig in den RAM 12 gesichert. Die
gestapelte Position ist eine Speicherzellengruppe,
verbunden mit einer Wortleitung, die durch einen Stapelzeiger
ausgewählt wurde. Mit diesem Prozeß können die Daten in
einer geringen Zahl von Zyklen ungeachtet der Zahl der
internen Register in der CPU 11 gestapelt werden, und das
ist insofern vorteilhaft, als eine tiefe Verschachtelung in
Übereinstimmung mit der Zahl der Wortleitungen des RAM 12
vorgenommen werden kann.
-
Fig. 4 ist ein schematisches Diagramm, das eine
Ausführungsform der vorliegenden Erfindung zeigt. In Fig. 4
werden dieselben Punkte wie in Fig. 3 durch dieselben
Bezugsziffern und Symbole gezeigt. Ein Decoder (DEC) 16 wählt
eine Wortleitung des RAM 12 aus, wobei die Eingabe des DEC
während einer normalen Operation aus einem Adressenbus
geliefert wird. Doch während einer Unterbrechung (IRQ) und
eines Rückkehrunterbrechungsbefehls (RTI) wird die Eingabe
für den DEC 16 von einem Hardware-Stapelzeiger (HSP) 18 auf
die Adresse umgeschaltet. Für diesen Zweck wird ein
Multiplexer (MPX) 19 genutzt und durch die Ausgabe eines CPU-
Controllers (CPU CTL) 20 gesteuert. Ein
Unterbrechungssteuerteil (INTR CTL) 21 bewirkt, daß der CPU CTL 20 arbeitet,
wenn die Unterbrechung IRQ erfaßt wird. Wie gewöhnlich, ist
ein Zeitgeber 22 usw. als eine periphere Schaltung
vorgesehen.
-
Fig. 5 ist ein detailliertes Diagramm der CPU, in dem
TIM - TPS interne Register sind. Unter diesen sind AS0-
AS6 Akkumulatorstapel, IX und IY sind Indexregister, und
die temporär verwendeten Register werden durch das Präfix T gezeigt. H,
L und M bezeichnen hohe, niedere bzw. mittlere Register.
Zusätzlich zu diesen internen Registern gibt es einen
Programmzähler IP, einen Software-Stapelzeiger SSP und eine
Inkrement/Dekrement-Schaltung INC/DEC, und diese Einheiten
bestimmen die Position einer zu unterbrechenden Adresse.
ADD ist ein Addierglied für die Adressenberechnung, ALU ist
ein Operator im internen Register, und PSW ist ein
Programmstatuswort.
-
Fig. 6 ist ein detailliertes Diagramm eines
Verbindungsteils 10 zwischen dem internen Register in der CPU 11
und dem RAM 12, in dem die Inverter I&sub3;, I&sub4; ein Bit des
internen Registers bilden. Ein Gate Q&sub3; für das Schreiben
und ein Gate S&sub1; für das Lesen existieren zwischen diesem
internen Register und dem internen Bus der CPU 11. Das Gate
Q&sub3; ist ein Transistor, der sich einschaltet, wenn ein
Schreibsignal W zum Zeitpunkt einer normalen Operation
hochgesetzt (H) wird. Das Gate S&sub1; andererseits ist ein
Inverterschalter, der sich einschaltet, wenn ein Lesesignal
r zum Zeitpunkt einer normalen Operation auf H gestellt
wird. Die Signale W und r werden von einem CPU-Rahmen 25
ausgegeben. Da jedoch der interne BUS in der CPU 11 durch
die Register R&sub0;-R&sub1;&sub5; gemeinsam genutzt wird, kann jegliches
Register durch ein Transfergate Q&sub4;, . . . ausgewählt werden.
Demzufolge wird das Dekodiersignal für diesen Prozeß
ebenfalls im CPU-Rahmen 25 gebildet. Das zugehörige Diagramm
zeigt eine Funktion, die in einem herkömmlichen Einchip-
Mikrorechner vorhanden ist. In dieser Ausführungsform
jedoch werden ein durch die Gates Q&sub5;-Q&sub8; gebildetes
Verbindungsteil 10 und ein Schalter S&sub2; hinzugefügt, so daß das
interne Register in der CPU 11 direkt mit dem RAM 12
verbunden werden kann.
-
D.h. der Schreibbefehl aus dem RAM 12 an das interne
Register in der CPU 11 (Wiedereinfangen von gesicherten
Daten) wird so ausgeführt, daß der Inverter S&sub2; durch das
Schreibsignal W eingeschaltet wird, und ein elektrisches
Potential aus einer Bitleitung BL wird an ein Bit des
Registers oder - genauer in dieser Ausführungsform - an den
Eingang des Inverters I&sub3; angelegt. Zu diesem Zeitpunkt wird
im RAM 12 die während der Unterbrechung ausgewählte
Wortleitung WL wiederum ausgewählt, und eine
Potentialdifferenz H, L wird dem Paar der Bitleitungen BL,
entsprechend der Information aus einer mit der Wortleitung
verbundenen Speicherzelle zugeführt. Demzufolge wird durch
Addieren des Potentials von Bitleitung BL zu dem Bit aus
dem Register über den Inverterschalter S&sub2; das Bit-Flipflop
so eingestellt oder rückgestellt, daß das Wiedereinfangen
der gesicherten Daten ausgeführt wird. Umgekehrt werden,
wenn die Daten aus dem internen Register in der CPU 11 zum
RAM 12 übertragen (gesichert) werden, die Gates Q&sub5; und Q&sub6;
durch ein Signal R eingeschaltet und die Schalter Q&sub7; und Q&sub8;
durch die komplementäre Ausgabe der Bits I&sub3; und I&sub4; des
Registers gesteuert. Die Ausgabe von I&sub3; ist z. B. H, und die
Ausgabe von I&sub4; ist L, der Transistor Q&sub8; schaltet sich ein,
und der Transistor Q&sub7; schaltet sich aus. Dann wird die
Bitleitung zu L, BL wird H, und in der Zelle MC in Fig.
2B wird die Ausgabe des Inverters I&sub2; zu H, und die Ausgabe
von I&sub1; wird L. Somit ist der Inhalt der Register I&sub3;, I&sub4; in
den RAM 12 gesichert. Wie bereits erwähnt, wird die zu
sichernde Position durch die Wortleitung WL ausgewählt. Die
Signale R und W werden zum Zeitpunkt der Sicherung
ebenfalls in der CPU gebildet, und die auszuwählende
Wortleitung wird durch den Stapelzeiger bestimmt. Der Inverter
S&sub2; hat die Funktion eines Leseverstärkers, und die Schalter
Q&sub7; und Q&sub6; haben die Funktion eines Schreibverstärkers.
-
Es ist nicht notwendig, eine besondere Beschleunigung
der direkten Übertragung zwischen dem RAM 12 und dem
internen Register in der CPU 11 zu veranlassen, weil eine
Zeitspanne, gewöhnlich etwa 3 Zyklen, ab der Zeit der
Unterbrechung bis zu der Zeit existiert, wenn der Stapel
abgeschlossen ist. Betrachten wir z. B. die Ausführung eines
Befehls A, wie das in einem Block 71 der Fig. 7 gezeigt
wird, und dann die Ausführung des nächsten Befehls B, wie
das in einem Block 72 gezeigt wird. Wenn die Unterbrechung
auftritt, während der Befehl B ausgeführt wird, wie das in
einem Block 73 der Fig. 7 gezeigt wird, ist es notwendig, H
und L in der zu unterbrechenden Adresse zu verriegeln und
anschließend den OP-Code des nächsten Befehls zu
verriegeln, wie das im Block 73 gezeigt wird. Dies
erfordert etwa drei Zyklen, und die Sicherung kann während
dieser Zeit durchgeführt werden. Als nächstes werden die
Befehle der Unterbrechungsroutine ausgeführt, wie das in
einem Block 74 gezeigt wird. Danach werden die gesicherten
Daten in die Register in der CPU verriegelt, wie das in
einem Block 75 gezeigt wird, und ein Befehl C wird bewirkt,
wie das in einem Block 76 gezeigt wird.
-
Fig. 8 zeigt eine weitere Ausführungsform der
vorliegenden Erfindung. Der Grundgedanke dieser Ausführungsform
ähnelt dem in Fig. 3 gezeigten. Der Unterschied zwischen
diesen Ausführungsformen besteht darin, daß in Fig. 8 vier
Decoder 30a-30d für 16 Bitleitungen vorgesehen sind, und
die dekodierten Ausgaben der Decoder 30a-30d werden über
vier Paare von Gates Ga-Gd vier internen Registern R&sub1;-
R&sub4; zugeführt. Die Decoder werden durch den in Fig. 3
gezeigten Hardware-Stapelzeiger gesteuert. Die in Fig. 8
gezeigte Ausführungsform ist effektiv, wenn die Zahl der
internen Register in der CPU 11 gering ist und der Bereich
des RAM 12 effektiv genutzt werden kann.
-
Wie oben erwähnt, können in der vorliegenden Erfindung
die Daten in den internen Registern in der CPU für den RAM
durch Nutzung der Bitleitungen gesichert werden, so daß der
Vorteil einer Übertragung zur Unterbrechungsroutine bei
einer geringen Zahl von Zyklen und einer Rückkehr aus der
Routine erzielt werden kann. Darüber hinaus kann ein
Restbereich des RAM für den Stapelspeicher genutzt werden, und
eine Verschachtelung kann demzufolge willkürlich
durchgeführt werden, ohne die Kapazität des Registers für die
Stapelung zu berücksichtigen.