-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft im allgemeinen eine Nullbestimmungssignalerzeugungsschaltung,
die, zusammen mit einem Verschieber, in eine LSI montiert ist und
ein Nullbestimmungssignal zum Bestimmen dessen erzeugt, ob die Ausgangsdaten
des Verschiebers Null sind oder nicht, d. h., ob alle Bits in den
Ausgangsdaten logisch 0 sind oder nicht. (Im folgenden wird logisch
0 als "0" und logisch 1 als "1" bezeichnet.)
-
2. Beschreibung der verwandten
Technik
-
Eine
herkömmliche
Nullbestimmungssignalerzeugungsschaltung, die eine ODER-Operation an
allen Bits in den Ausgangsdaten eines Verschiebers ausführt, wird,
zusammen mit dem Verschieber, oft in eine LSI montiert. Die herkömmliche Nullbestimmungssignalerzeugungsschaltung
erzeugt jedoch ein Nullbestimmungssignal nach Verschiebungsoperationen
des Verschiebers. Dadurch wird eine Hochgeschwindigkeitsnullbestimmungsoperation
für die
Ausgabe des Verschiebers behindert.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Eine
allgemeine Aufgabe der vorliegenden Erfindung ist das Vorsehen von
Nullbestimmungssignalerzeugungsschaltungen, bei denen die obigen Nachteile
eliminiert sind.
-
Ein
spezifischeres Ziel der vorliegenden Erfindung ist das Vorsehen
einer Nullbestimmungssignalerzeugungsschaltung, die eine Nullbestimmungsoperation
für die
Ausgangsdaten eines Verschiebers mit hoher Geschwindigkeit ausführen kann.
-
Die
obigen Ziele der vorliegenden Erfindung werden durch eine Nullbestimmungssignalerzeugungsschaltung
erreicht, die ein Nullbestimmungssignal zum Bestimmen dessen erzeugt,
ob alle Bits eines Datenwortes, das durch einen Verschieber ausgegeben
wird, Null sind, welches Datenwort 2x Bits hat,
deren Bitpositionen jeweils eine sukzessive Potenz von 2 darstellen,
wobei die Bitposition am weitesten rechts eine 0-te Position ist,
die 20 darstellt, und eine Position am weitesten
links eine (2x–1)-te Position ist, die 2
hoch 2x–1
darstellt, der Verschieber die Bits des Datenwortes um einen Verschiebungsbetrag
zwischen 0 und 2x–1 Bitpositionen nach links verschiebt,
welcher Verschieber erste bis x-te Linksverschieber hat, die kaskadiert
sind, wobei x eine ganze Zahl von 3 oder größer ist, ein i-ter der Linksverschieber
eine 2x-Bit-Struktur und einen Verschiebungsbetrag
von 2x – i Bits
oder 0 Bits hat, ein 2x-Bit-Eingangsdatenwort
auf den ersten Linksverschieber angewendet wird und ein 2x-Bit-Ausgangsdatenwort
von dem x-ten Linksverschieber ausgegeben wird, welche Nullbestimmungssignalerzeugungsschaltung
umfaßt:
(x–1)
ODER-Schaltungen, wobei eine k-te der ODER-Schaltungen mit dem k-ten Linksverschieber
verbunden ist und eine ODER-Operation an den (2x – 2x – k)-ten
bis (2x – 2·2x – k +
1)-ten Bits des Datenwortes ausführt,
das dem k-ten Linksverschieber eingegeben oder von diesem ausgegeben
wird; und eine ODER-/Pufferschaltung, die dann, wenn der Verschiebungsbetrag
zwischen 0 und 2x–2 liegt, eine ODER-Operation
an den Ausgaben von jeder von jenen ODER-Schaltungen, die mit den
Linksverschiebern verbunden sind, die einen Verschiebungsbetrag
von Null haben, dem (2x–1)-ten Bit des Datenwortes,
das von dem x-ten Linksverschieber ausgegeben wird, wenn keine Verschiebungsoperation
ausgeführt
wird, und einem 0-ten Bit des Eingangsdatenwortes ausführt und
dann, wenn der Verschiebungsbetrag 2x–1 beträgt, eine
Pufferungsoperation an dem 0-ten Bit des Eingangsdatenwortes ausführt, wobei
die ODER-/Pufferschaltung das Nullbestimmungssignal ausgibt.
-
Mit
der obigen Struktur wird eine ODER-Operation oder eine Pufferungsoperation
an vorbestimmten Bits in den 2x-Bit-Eingangsdaten
ausgeführt,
die Linksverschiebern einzugeben sind, die einen Verschiebungsbetrag
von 0 haben, oder in den 2x-Bit-Ausgangsdaten,
die von den Rechtsverschiebern ausgegeben werden, die den Verschiebungsbetrag
von 0 haben. Das Nullbestimmungssignal wird dann durch eine ODER-Operation
oder eine Pufferungsoperation durch die ODER-/Pufferschaltung erzeugt.
Auf diese Weise kann das Nullbestimmungssignal zu derselben Zeit
erzeugt werden, zu der eine Verschiebungsoperation in dem Verschieber
ausgeführt
wird.
-
Die
obigen Ziele der vorliegenden Erfindung werden auch durch eine Nullbestimmungssignalerzeugungsschaltung
erreicht, die ein Nullbestimmungssignal erzeugt, zum Bestimmen,
ob alle Bits eines Datenwortes, das durch einen Verschieber ausgegeben
wird, Null sind, welches Datenwort 2x Bits
hat, deren Bitpositionen jeweils eine sukzessive Potenz von 2 darstellen,
wobei eine Bitposition am weitesten rechts eine 0-te Position ist,
die 20 darstellt, und eine Position am weitesten
links eine (2x – 1)-te Position ist,
die 2 hoch 2x – 1 darstellt, der Verschieber die
Bits des Datenwortes um einen Verschiebungsbetrag zwischen 0 und
2x – 1 Bitpositionen
nach rechts verschiebt, welcher Verschieber erste bis x-te Rechtsverschieber
hat, die kaskadiert sind, wobei x eine ganze Zahl von 3 oder größer ist,
ein i-ter der Rechtsverschieber eine 2x-Bit-Struktur
und einen Verschiebungsbetrag von 2x – i Bits
oder 0 Bits hat, ein 2x-Bit-Eingangsdatenwort
auf den ersten Rechtsverschieber angewendet wird und ein 2x-Bit-Ausgangsdatenwort
von dem x-ten Rechtsverschieber ausgegeben wird, welche Nullbestimmungssignalerzeugungsschaltung
umfaßt:
(x – 1)
ODER-Schaltungen, wobei eine k-te der ODER-Schaltungen mit dem k-ten Rechtsverschieber
verbunden ist und eine ODER-Operation an den (2x–(k – 1)2-ten
bis (2x – k–1)ten Bits
des Datenwortes ausführt,
das dem k-ten Rechtsverschieber eingegeben oder von diesem ausgegeben
wird; und eine ODER-/Pufferschaltung, die dann, wenn der Verschiebungsbetrag
zwischen 0 und 2x–2 liegt, eine ODER-Operation
an den Ausgaben von jeder von jenen ODER-Schaltungen, die mit den
Rechtsverschiebern verbunden sind, die einen Verschiebungsbetrag
von Null haben, dem 0-ten Bit des Datenwortes, das von dem x-ten
Rechtsverschieber ausgegeben wird, wenn keine Verschiebungsoperation
ausgeführt
wird, und dem (2x–1)-ten Bit des Eingangsdatenwortes
ausführt
und dann, wenn der Verschiebungsbetrag 2x–1 beträgt, eine Pufferungsoperation
an dem (2x–1)-ten Bit des Eingangsdatenwortes
ausführt,
wobei die ODER-/Pufferschaltung das Nullbestimmungssignal ausgibt.
-
Mit
der obigen Struktur wird eine ODER-Operation oder eine Pufferungsoperation
an vorbestimmten Bits in den 2x-Bit-Eingangsdaten
ausgeführt,
die Rechtsverschiebern einzugeben sind, die einen Verschiebungsbetrag
von 0 haben, oder in den 2x-Bit-Ausgangsdaten,
die von den Linksverschiebern ausgegeben werden, die den Verschiebungsbetrag
von 0 haben. Das Nullbestimmungssignal wird dann durch eine ODER-Operation oder eine
Pufferungsoperation durch die ODER-/ Pufferschaltung erzeugt. Auf
diese Weise kann das Nullbestimmungssignal zu derselben Zeit erzeugt
werden, zu der eine Verschiebungsoperation in dem Verschieber ausgeführt wird.
-
Die
obigen Ziele der vorliegenden Erfindung werden auch durch eine Nullbestimmungssignalerzeugungsschaltung
erreicht, die ein Nullbestimmungssignal erzeugt, zum Bestimmen,
ob alle Bits eines Datenwortes, das durch einen Verschieber ausgegeben
wird, Null sind, welches. Datenwort 2x Bits
hat, deren Bitpositionen jeweils eine sukzessive Potenz von 2 darstellen,
wobei eine Bitposition am weitesten rechts eine 0-te Position ist,
die 20 darstellt, und eine Position am weitesten
links eine (2x–1)-te Position ist, die 2
hoch 2x-1 darstellt, welcher Verschieber
die Bits des Datenwortes um einen Verschiebungsbetrag zwischen 0
und 2x–1
Bitpositionen nach links oder nach rechts verschiebt, wobei der Verschieber
eine Linksverschiebereinheit, eine Rechtsverschiebereinheit und
einen Ausgangsdatenselektor hat, welche Linksverschiebereinheit.
erste bis x-te Linksverschieber hat, die kaskadiert sind, wobei
x eine ganze Zahl von 3 oder größer ist,
ein i-ter der Linksverschieber eine 2x-Bit-Struktur und einen
Verschiebungsbetrag von 2x – i Bits oder 0 Bits hat,
ein 2x-Bit-Eingangsdatenwort auf den ersten Linksverschieber
angewendet wird und ein 2x-Bit-Ausgangsdatenwort
von dem x-ten Linksverschieber ausgegeben wird, welche Rechtsverschiebereinheit
erste bis x-te Rechtsverschieber hat, die kaskadiert sind, wobei
x eine ganze Zahl von 3 oder größer ist,
ein i-ter der Rechtsverschieber eine 2x-Bit-Struktur und einen
Verschiebungsbetrag von 2x – i Bits oder 0 Bits
hat, ein 2x-Bit-Eingangsdatenwort auf den
ersten Rechtsverschieber angewendet wird und ein 2x-Bit-Ausgangsdatenwort
von dem x-ten Rechtsverschieber ausgegeben wird, welcher Ausgangsdatenselektor
das Ausgangsdatenwort der Linksverschiebereinheit selektiert und
ausgibt, wenn der Verschieber als Linksverschieber funktioniert, und
das Ausgangsdatenwort der Rechtsverschiebereinheit selektiert und
ausgibt, wenn der Verschieber als Rechtsverschieber funktioniert,
welche Nullbestimmungssignalerzeugungsschaltung umfaßt: (x – 1) Linksverschieber-ODER-Schaltungen, wobei
eine k-te der Linksverschieber-ODER-Schaltungen mit dem kten Linksverschieber
verbunden ist und eine ODER-Operation an den (2x–2x – k)-ten
bis (2x–2·2x – k +
1)-ten Bits des Datenwortes ausführt, das
dem k-ten Linksverschieber eingegeben oder von diesem ausgegeben
wird; eine Linksverschieber-ODER-/ Pufferschaltung, die dann, wenn
der Verschiebungsbetrag zwischen 0 und 2x–2 liegt,
eine ODER-Operation an den Ausgaben von jeder von jenen Linksverschieber-ODER-Schaltungen,
die mit den Linksverschiebern verbunden sind, die einen Verschiebungsbetrag
von Null haben, dem (2x–1)-ten Bit des Datenwortes,
das von dem x-ten Linksverschieber ausgegeben wird, wenn keine Verschiebungsoperation
ausgeführt
wird, und dem 0-ten Bit des Eingangsdatenwortes ausführt und
dann, wenn der Verschiebungsbetrag 2x–1 beträgt, eine
Pufferungsoperation an dem 0-ten Bit des Eingangsdatenwortes ausführt; (x – 1) Rechtsverschieber-ODER-Schaltungen,
wobei eine k-te der Rechtsverschieber-ODER-Schaltungen mit dem k-ten Rechtsverschieber
verbunden ist und eine ODER-Operation an den (2x–(k – 1)-2)-ten
bis (2x – k–1)-ten
Bits des Datenwortes ausführt,
das dem k-ten Rechtsverschieber eingegeben oder von diesem ausgegeben
wird; eine Rechtsverschieber-ODER-/ Pufferschaltung, die dann, wenn
der Verschiebungsbetrag zwischen 0 und 2x–2 liegt,
eine ODER-Operation an den Ausgaben von jeder von jenen Rechtsverschieber-ODER-Schaltungen,
die mit den Rechtsverschiebern verbunden sind, die einen Verschiebungsbetrag
von Null haben, dem 0-ten Bit der 2x-Bit-Daten,
die von dem x-ten Rechtsverschieber ausgegeben werden, wenn keine
Verschiebungsoperation ausgeführt
wird, und dem (2x–1)-ten Bit des Eingangsdatenwortes
ausführt
und dann, wenn der Verschiebungsbetrag 2x–1 beträgt, eine
Pufferungsoperation an dem (2x–1)-ten
Bit des Eingangsdatenwortes ausführt;
und einen Nullbestimmungssignalselektor, der eine Ausgabe der Linksverschieber-ODER-/Pufferschaltung
als Nullbestimmungssignal selektiert und ausgibt, wenn der Verschieber
als Linksverschieber funktioniert, und eine Ausgabe der Rechtsverschieber-ODER-/Pufferschaltung
als Nullbestimmungssignal selektiert und ausgibt, wenn der Verschieber
als Rechtsverschieber funktioniert.
-
Mit
der obigen Struktur wird, wenn der Verschieber als Linksverschieber
funktioniert, eine ODER-Operation oder eine Pufferungsoperation
an vorbestimmten Bits in den 2x-Bit-Eingangsdaten ausgeführt, die
Linksverschiebern einzugeben sind, die einen Verschiebungsbetrag
von 0 haben, oder in den 2x-Bit-Ausgangsdaten,
die von den Linksverschiebern ausgegeben werden, die den Verschiebungsbetrag
von 0 haben. Das Nullbestimmungssignal wird dann durch eine ODER-Operation
oder eine Pufferungsoperation durch die ODER-/Pufferschaltung erzeugt.
Auf diese Weise kann das Nullbestimmungssignal zu derselben Zeit
erzeugt werden, zu der eine Verschiebungsoperation in der Linksverschiebereinheit
ausgeführt
wird.
-
Wenn
der Verschieber als Rechtsverschieber funktioniert, wird eine ODER-Operation
oder eine Pufferungsoperation an vorbestimmten Bits in den 2x-Bit-Eingangsdaten ausgeführt, die
Rechtsverschiebern einzugeben sind, die einen Verschiebungsbetrag
von 0 haben, oder in den 2x-Bit-Ausgangsdaten, die
von den Rechtsverschiebern ausgegeben werden, die den Verschiebungsbetrag
von 0 haben. Das Nullbestimmungssignal wird dann durch eine ODER-Operation
oder eine Pufferungsoperation durch die ODER-/Pufferschaltung erzeugt.
Auf diese Weise kann das Nullbestimmungssignal zu derselben Zeit
erzeugt werden, zu der eine Verschiebungsoperation in der Rechtsverschiebereinheit
ausgeführt wird.
-
Die
obigen und andere Ziele und Merkmale der vorliegenden Erfindung
gehen aus der folgenden Beschreibung in Verbindung mit den beiliegenden Zeichnungen
deutlicher hervor.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist ein Schaltungsdiagramm
eines Verschiebers und einer Nullbestimmungssignalerzeugungsschaltung
der vorliegenden Erfindung;
-
2 ist ein Schaltungsdiagramm
eines Linksverschiebers, der in dem Verschieber von 1 enthalten ist;
-
3 ist ein Schaltungsdiagramm
eines Rechtsverschiebers, der in dem Verschieber von 1 enthalten ist;
-
4 ist ein Schaltungsdiagramm,
das die Konfiguration einer ODER-/Pufferschaltung in einer Linksverschiebereinheit
der Nullbestimmungssignalerzeugungsschaltung der vorliegenden Erfindung zeigt;
-
5 zeigt die Beziehung zwischen
einem Verschiebungsbetrag, einem Verschiebungsbetragangabesignal,
einem invertierten Verschiebungsbetragangabesignal und Signalen,
die durch die ODER-/Pufferschaltung in dem Linksverschieber einer
ODER-Operation unterzogen werden;
-
6 ist ein Schaltungsdiagramm,
das die Konfiguration einer ODER-/Pufferschaltung in einer Rechtsverschiebereinheit
der Nullbestimmungssignalerzeugungsschaltung der vorliegenden Erfindung zeigt;
-
7 zeigt die Beziehung zwischen
einem Verschiebungsbetrag, einem Verschiebungsbetragangabesignal
und Signalen, die durch die ODER-/Pufferschaltung in dem Rechtsverschieber einer
ODER-Operation unterzogen werden;
-
8 ist ein Ersatzschaltungsdiagramm
des Verschiebers und der Nullbestimmungssignalerzeugungsschaltung
der vorliegenden Erfindung von 1 in
dem Fall, wenn der Verschieber ein Linksverschieber ist;
-
9 ist ein Ersatzschaltungsdiagramm
des Verschiebers und der Nullbestimmungssignalerzeugungsschaltung
der vorliegenden Erfindung von 1 in
dem Fall, wenn der Verschieber ein Rechtsverschieber ist;
-
10 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung der vorliegenden Erfindung
in dem Fall, wenn der Verschieber ein Linksverschieber ist und der
Verschiebungsbetrag Null ist;
-
11 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung der vorliegenden Erfindung
in dem Fall, wenn der Verschieber ein Linksverschieber ist und der
Verschiebungsbetrag 9 ist;
-
12 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung der vorliegenden Erfindung
in dem Fall, wenn der Verschieber ein Linksverschieber ist und der
Verschiebungsbetrag 20 ist;
-
13 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung der vorliegenden Erfindung
in dem Fall, wenn der Verschieber ein Rechtsverschieber ist und
der Verschiebungsbetrag Null ist;
-
14 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung der vorliegenden Erfindung
in dem Fall, wenn der Verschieber ein Rechtsverschieber ist und
der Verschiebungsbetrag 9 ist;
-
15 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung der vorliegenden Erfindung
in dem Fall, wenn der Verschieber ein Rechtsverschieber ist und
der Verschiebungsbetrag 20 ist; und
-
16A bis 16D zeigen die ODER-Schaltungen von 1, die in der Nullbestimmungssignalerzeugungsschaltung
der vorliegenden Erfindung verwendet werden.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
Unter
Bezugnahme auf die beiliegenden Zeichnungen folgt nun eine Beschreibung
von Ausführungsformen
der vorliegenden Erfindung. In der Beschreibung und den Zeichnungen
bezeichnet [j] ein j-tes Bit, das einen Dezimalwert 2j darstellt, und bezeichnet
[j:k] die Bits an Positionen von Bit j bis zu Bit k eines Datenwortes
der Form (... j, j – 1,...
k + 1, k,... 0). Somit ist die Bitposition am weitesten rechts eine
0-te Position, die das Vorhandensein oder Nichtvorhandensein von
20 darstellt, und die sukzessiven Bitpositionen
nach links stellen das Vorhandensein oder Nichtvorhandensein von
21, 22,... 2j usw. in dem Dezimalwert dar, der durch
das Datenwort (unten einfach als "Daten" bezeichnet) gebildet wird.
-
1 ist ein Schaltungsdiagramm
eines Verschiebers und einer Nullbestimmungssignalerzeugungsschaltung
als Ausführungsform
der vorliegenden Erfindung. In dieser Figur bezeichnet Bezugszeichen 1 einen
32-Bit-Verschieber mit Rechts- und Linksverschiebungsrichtungen
und einem Verschiebungsbetrag von 1 bis 31 Bitpositionen, und Bezugszeichen 2 bezeichnet
die Nullbestimmungssignalerzeugungsschaltung der Ausführungsform
der vorliegenden Erfindung.
-
DI[31:0]
stellt 32-Bit-Eingangsdaten dar, die dem Verschieber 1 einzugeben
sind, und OP steht für einen
1-Bit-Operationscode,
der eine arithmetische Verschiebung und/oder eine Rechtsverschiebung darstellt.
OP ist "1", um eine arithmetische
Rechtsverschiebung anzugeben, und "0",
um eine arithmetische Linksverschiebung oder eine logische Verschiebung
anzugeben.
-
SF[4:0]
stellt ein 5-Bit-Verschiebungsbetragangabesignal zum Angeben des
Verschiebungsbetrages dar, und /SF[4:0] stellt ein invertiertes 5-Bit-Verschiebungsbetragangabesignal
dar, das durch Invertieren des 5-Bit-Verschiebungsbetragangabesignals
SF[4:0] erhalten wird. Die Dezimalzahl des Verschiebungsbetragangabesignals
SF[4:0] stellt den Verschiebungsbetrag dar, d. h., bei diesem Beispiel
0 bis 31 Bitpositionen.
-
D0[31:0]
stellt 32-Bit-Ausgangsdaten des Verschiebers 1 dar, und
ZD ist ein Nullbestimmungssignal zum Bestimmen, ob die Ausgangsdaten
DO Null sind oder nicht. Wenn die Ausgangsdaten DO Null sind, ist
das Nullbestimmungssignal ZD "0", und wenn die Ausgangsdaten
DO nicht Null sind, ist das Nullbestimmungssignal ZD "1".
-
Bezugszeichen 3 bezeichnet
einen 32-Bit-Linksverschieber zum Verschieben der Eingangsdaten
DI[31:0]. Die Verschiebungsoperation des Linksverschiebers 3 wird
durch das Verschiebungsbetragangabesignal SF[4] gesteuert. Wenn das
Verschiebungsbetragangabesignal SF[4] "1" ist, beläuft sich
der Verschiebungsbetrag auf 16 Bits nach links. Wenn das Verschiebungsbetragangabesignal
SF[4] "0" ist, beträgt der Verschiebungsbetrag Null.
-
Bezugszeichen 4 bezeichnet
einen 32-Bit-Linksverschieber zum Verschieben der Ausgabe [31:0]
des Linksverschiebers 3. Die Verschiebungsoperation des
Linksverschiebers 4 wird durch das Verschiebungsbetragangabesignal
SF[3] gesteuert. Wenn das Verschiebungsbetragangabesignal SF[3] "1" ist, beläuft sich der Verschiebungsbetrag
auf 8 Bits nach links. Wenn das Verschiebungsbetragangabesignal
SF[3] "0" ist, beträgt der Verschiebungsbetrag
Null.
-
Bezugszeichen 5 bezeichnet
einen 32-Bit-Linksverschieber zum Verschieben der Ausgabe [31:0]
des Linksverschiebers 4. Die Verschiebungsoperation des
Linksverschiebers 5 wird durch das Verschiebungsbetragangabesignal
SF[2] gesteuert. Wenn das Verschiebungsbetragangabesignal [2] "1" ist, beläuft sich der Verschiebungsbetrag auf
4 Bits nach links. Wenn das Verschiebungsbetragangabesignal [2] "0" ist, beträgt der Verschiebungsbetrag
Null.
-
Bezugszeichen 6 bezeichnet
einen 32-Bit-Linksverschieber zum Verschieben der Ausgabe [31:0]
des Linksverschiebers 5. Die Verschiebungsoperation des
Linksverschiebers 6 wird durch das Verschiebungsbetragangabesignal
SF[1] gesteuert. Wenn das Verschiebungsbetragangabesignal [1] "1" ist, be läuft sich der Verschiebungsbetrag auf
2 Bits nach links. Wenn das Verschiebungsbetragangabesignal [1) "0" ist, beträgt der Verschiebungsbetrag
Null.
-
Bezugszeichen 7 bezeichnet
einen 32-Bit-Linksverschieber zum Verschieben der Ausgabe [31:0]
des Linksverschiebers 6. Die Verschiebungsoperation des
Linksverschiebers 7 wird durch das Verschiebungsbetragangabesignal
SF[0) gesteuert. Wenn das Verschiebungsbetragangabesignal SF[0] "1" ist, beläuft sich der Verschiebungsbetrag
auf 1 Bit nach links. Wenn das Verschiebungsbetragangabesignal SF[0) "0" ist, beträgt der Verschiebungsbetrag
Null. Die Linksverschieber 3 bis 7 bilden eine Linksverschiebereinheit.
-
Bezugszeichen 8 bezeichnet
einen 32-Bit-Rechtsverschieber zum Verschieben der Eingangsdaten
DI[31:0]. Die Verschiebungsoperation des Rechtsverschiebers 8 wird
durch das Verschiebungsbetragangabesignal SF[4] gesteuert. Wenn das
Verschiebungsbetragangabesignal SF[4] "1" ist, beläuft sich
der Verschiebungsbetrag auf 16 Bits nach rechts. Wenn das Verschiebungsbetragangabesignal
SF[4] "0" ist, beträgt der Verschiebungsbetrag
Null.
-
Bezugszeichen 9 bezeichnet
einen 32-Bit-Rechtsverschieber zum Verschieben der Ausgabe [31:0]
des Rechtsverschiebers 8. Die Verschiebungsoperation des
Rechtsverschiebers 9 wird durch das Verschiebungsbetragangabesignal
SF[3] gesteuert. Wenn das Verschiebungsbetragangabesignal SF[3] "1" ist, beläuft sich der Verschiebungsbetrag
auf 8 Bits nach rechts. Wenn das Verschiebungsbetragangabesignal
SF[3] "0" ist, beträgt der Verschiebungsbetrag
Null.
-
Bezugszeichen 10 bezeichnet
einen 32-Bit-Rechtsverschieber zum Verschieben der Ausgabe [31:0]
des Rechtsverschiebers 9. Die Verschiebungsoperation des
Rechtsverschiebers 10 wird durch das Verschiebungsbetragangabesignal
SF[2] gesteuert. Wenn das Verschiebungsbetragangabesignal SF[2] "1" ist, beläuft sich der Verschiebungsbetrag
auf 4 Bits nach rechts. Wenn das Verschiebungsbetragangabesignal
SF[2] "0" ist, beträgt der Verschiebungsbetrag
Null.
-
Bezugszeichen 11 bezeichnet
einen 32-Bit-Rechtsverschieber zum Verschieben der Ausgabe [31:0]
des Rechtsverschiebers 10. Die Verschiebungsoperation des
Rechtsverschiebers 11 wird durch das Verschiebungsbetragangabesignal SF[1]
gesteuert. Wenn das Verschiebungsbetragangabesignal SF[1] "1" ist, beläuft sich der Verschiebungsbetrag
auf 2 Bits nach rechts. Wenn das Verschiebungsbetragangabesignal
SF[1] "0" ist, beträgt der Verschiebungsbetrag
Null.
-
Bezugszeichen 12 bezeichnet
einen 32-Bit-Rechtsverschieber zum Verschieben der Ausgabe [31:0]
des Rechtsverschiebers 11. Die Verschiebungsoperation des
Rechtsverschiebers 12 wird durch das Verschiebungsbetragangabesignal SF[0]
gesteuert. Wenn das Verschiebungsbetragangabesignal SF[0] "1" ist, beläuft sich der Verschiebungsbetrag
auf 1 Bit nach rechts. Wenn das Verschiebungsbetragangabesignal
SF[0] "0" ist, beträgt der Verschiebungsbetrag
Null. Die Rechtsverschieber 8 bis 12 bilden eine
Rechtsverschiebereinheit.
-
Bezugszeichen 13 bezeichnet
eine UND-Schaltung, die eine UND-Operation an den Eingangsdaten
DI[31] und dem Operationscode OP ausführt und ihre Ausgabe den Rechtsverschiebern 8 bis 12 zuführt.
-
Bezugszeichen 14 bezeichnet
einen Selektor, der die Ausgangsdaten DO[31:0] von der Ausgabe [31:0]
des Linksverschiebers 7 und der Ausgabe [31:0] des Rechtsverschiebers 12 selektiert.
Die Selektionsoperation des Selektors 14 wird gemäß dem Operationscode
OP gesteuert. Wenn der Operationscode OP "0" ist,
selektiert der Selektor 14 die Ausgabe [31:0] des Linksverschiebers 7.
Wenn der Operationscode OP "1" ist, selektiert
der Selektor 14 die Ausgabe [31:0] des Rechtsverschiebers 12.
-
Bezugszeichen 15 bezeichnet
eine ODER-Schaltung, die eine ODER-Operation an der Ausgabe [16:1]
des Linksverschiebers 3 ausführt. Bezugszeichen 16 bezeichnet
eine ODER-Schaltung,
die eine ODER-Operation an der Ausgabe [24:17] des Linksverschiebers 4 ausführt. Bezugszeichen 17 bezeichnet
eine ODER-Schaltung, die eine ODER-Operation an der Ausgabe [28:25]
des Linksverschiebers 5 ausführt. Bezugszeichen 18 bezeichnet
eine ODER-Schaltung, die eine ODER-Operation an der Ausgabe [30:29]
des Linksverschiebers 6 ausführt. Bezugszeichen 19 bezeichnet
eine Pufferschaltung, die die Ausgabe [31] des Linksverschiebers 7 puffert.
-
Bezugszeichen 20 bezeichnet
eine ODER-/Pufferschaltung, die die Ausgaben LOR16, LOR8, LOR4 und
LOR2 der ODER-Schaltungen 15, 16, 17 bzw.
18 und die Ausgabe LBF der Pufferschaltung 19 empfängt. Die
ODER-/Pufferschaltung 20 wird durch das invertierte Verschiebungsbetragangabesignal
/SF[4:0] gesteuert. Wenn der Verschiebungsbetrag 0 bis 30 beträgt, dient
die ODER-/Pufferschaltung 20 als ODER-Schaltung, die eine ODER-Operation
an den Eingangsdaten DI[0] und dem Signal ausführt, das von der Ausgabe LBF
der Pufferschaltung 19 und den Ausgaben LOR16, LOR8, LOR4
und LOR2 der ODER-Schaltungen 15, 16, 17 bzw. 18 selektiert
wird. Wenn der Verschiebungsbetrag 31 beträgt, dient
die ODER-/Pufferschaltung 20 als Pufferschaltung, die die
Eingangsdaten DI[0] puffert.
-
Bezugszeichen 21 bezeichnet
eine ODER-Schaltung, die eine ODER-Operation an der Ausgabe (30:15]
des Rechtsverschiebers 8 ausführt. Bezugszeichen 22 bezeichnet
eine ODER-Schaltung,
die eine ODER-Operation an der Ausgabe [14:7] des Rechtsverschiebers 9 ausführt. Bezugszeichen 23 bezeichnet
eine ODER-Schaltung, die eine ODER-Operation an der Ausgabe [6:3]
des Rechtsverschiebers 10 ausführt. Bezugszeichen 24 bezeichnet
eine ODER-Schaltung, die eine ODER-Operation an der Ausgabe [2:1]
des Rechtsverschiebers 11 ausführt. Bezugszeichen 25 bezeichnet
eine Pufferschaltung, die die Ausgabe [0] des Rechtsverschiebers 12 puffert.
-
Bezugszeichen 26 bezeichnet
eine ODER-/Pufferschaltung, die die Ausgaben ROR16, ROR8, ROR4 und
ROR2 der ODER-Schaltungen 21, 22, 23 bzw. 24 und
die Ausgabe RBF der Pufferschaltung 25 empfängt. Die
ODER-/Pufferschaltung 26 wird durch das invertierte Verschiebungsbetragangabesignal
/SF[4:0] gesteuert. Wenn der Verschiebungsbetrag 0 bis 30 beträgt, dient
die ODER-/Pufferschaltung 26 als ODER-Schaltung, die eine ODER-Operation
an den Eingangsdaten DI[31] und dem Signal ausführt, das von der Ausgabe RBF
der Pufferschaltung 25 und den Ausgaben ROR16, ROR8, ROR4
und ROR2 der ODER-Schaltungen 21, 22, 23 bzw. 24 selektiert
wird. Wenn der Verschiebungsbetrag 31 beträgt, dient
die ODER-/Pufferschaltung 26 als Pufferschaltung, die die
Eingangsdaten DI[31] puffert.
-
Bezugszeichen 27 bezeichnet
einen Selektor, der das Nullbestimmungssignal ZD von der Ausgabe
der ODER-/Pufferschaltung 20 und der Ausgabe der ODER-/Pufferschaltung 26 selektiert.
Die Selektionsoperation des Selektors 27 wird gemäß dem Operationscode
OP gesteuert. Wenn der Operationscode OP "0" ist,
selektiert der Selektor 27 die Ausgabe der ODER-/Pufferschaltung 20.
Wenn der Operationscode OP "1" ist, selektiert
der Selektor 27 die Ausgabe der ODER-/ Pufferschaltung 26.
-
2 ist ein Schaltungsdiagramm,
das eine Beispielkonfiguration der Linksverschieber 3 bis 7 zeigt.
Im Falle des Linksverschiebers 3 ist m "16" und ist
n "4". Im Falle des Linksverschiebers 4 ist
m "8" und ist n "3". Im Falle des Linksverschiebers 5 ist
m "4" und ist n "2". Im Falle des Linksverschiebers 6 ist m "2" und ist n "1".
Im Falle des Linksverschiebers 7 ist m "1" und
ist n "0".
-
In 2 bezeichnet Bezugszeichen 29 einen
Inverter, der den Operationscode OP[n] invertiert, bezeichnet Bezugszeichen 30–31 eine NAND-Schaltung,
die eine NAND-Operation an dem Operationscode OP[n] und einer Eingabe
[31 – m] ausführt, und
bezeichnet Bezugszeichen 30-m eine NAND-Schaltung, die
eine NAND-Operation an dem Operationscode OP[n] und einer Eingabe
[0] ausführt.
-
Bezugszeichen 31–31 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe des
Inverters 29 und einer Eingabe [31] ausführt. Bezugszeichen 31-m
bezeichnet eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe
des Inverters 29 und einer Eingabe [m] ausführt. Bezugszeichen 31 – (m-1)
bezeichnet eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe des Inverters 29 und
einer Eingabe [m – 1] ausführt. Bezugszeichen 31 – 0 bezeichnet
eine NAND-Schaltung,
die eine NAND-Operation an der Ausgabe des Inverters 29 und
einer Eingabe [0] ausführt.
-
Bezugszeichen 32–31 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an den Ausgaben der
NAND-Schaltungen 30–31 und 31–31 ausführt, um
eine Ausgabe [31] zu erzeugen. Bezugszeichen 32-m
bezeichnet eine NAND-Schaltung, die eine NAND-Operation an den Ausgaben
der NAND-Schaltungen 32 – m und 31-m ausführt, um eine
Ausgabe [m] zu erzeugen. Bezugszeichen 32 –(m – 1) bezeichnet
einen Inverter, der die Ausgabe der NAND-Schaltung 31 –(m – 1) invertiert,
um eine Ausgabe [m – 1]
zu erzeugen. Bezugszeichen 32 – 0 bezeichnet einen Inverter,
der die Ausgabe der NAND-Schaltung 31 – 0 invertiert, um eine Ausgabe [0]
zu erzeugen.
-
Wenn
der Operationscode OP[n] in dem in 2 gezeigten
Linksverschieber "1" ist, dient jede der
NAND-Schaltungen 30–31 bis 30-m
als Inverter für
die Eingabe [31 – m:0],
wird die Ausgabe des Inverters 29"1" und wird jede der Ausgaben der NAND-Schaltungen 31–31 bis 31 – 0 auf "1" festge legt. Als Resultat dienen die
NAND-Schaltungen 32–31 bis 32-m
jeweilig als Inverter für
die NAND-Schaltungen 30–31 bis 30-m
und wird jede der Ausgaben der Inverter 32 –(m – 1) bis 32 – 0 "1". Somit funktioniert der in 2 gezeigte Linksverschieber
als Verschieber mit einem Verschiebungsbetrag von m Bits nach links.
-
Wenn
der Operationscode OP[n] "0" ist, wird jede der
Ausgaben der NAND-Schaltungen 30–31 bis 30-m
auf "1" festgelegt, wird
die Ausgabe des Inverters 29"1" und dient jede der
NAND-Schaltungen 31–31 bis 31 – 0 als
Inverter für
die Eingabe [31:0]. Als Resultat dienen die NAND-Schaltungen 32–31 bis 32-m
jeweilig als Inverter für
die NAND-Schaltungen 31–31 bis 31-m.
Somit funktioniert der in 2 gezeigte
Linksverschieber als Puffer für
die Eingabe [31:0] mit einem Verschiebungsbetrag von 0.
-
3 ist ein Schaltungsdiagramm,
das eine Beispielkonfiguration der Rechtsverschieber 8 bis 12 zeigt.
Im Falle des Rechtsverschiebers 8 ist m "16" und ist n "4". Im Falle des Rechtsverschiebers 9 ist
m "8" und ist n "3". Im Falle des Rechtsverschiebers 10 ist
m "2" und ist n "1". Im Falle des Rechtsverschiebers 12 ist
m "1" und ist n "0".
-
In 3 bezeichnet Bezugszeichen 34 einen
Inverter, der den Operationscode OP[n] invertiert, bezeichnet Bezugszeichen 35–31 eine NAND-Schaltung,
die eine NAND-Operation an dem Operationscode OP[n] und der Ausgabe
der UND-Schaltung 13 ausführt, und bezeichnet Bezugszeichen 35 –[31-(m-1)]
eine NAND-Schaltung, die eine NAND-Operation an dem Operationscode
OP[n] und der Ausgabe der UND-Schaltung 13 ausführt.
-
Bezugszeichen 35 –(31 – m) bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an dem Operationscode
OP[n] und einer Eingabe [31] ausführt, und Bezugszeichen 35 – 0 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an dem Operationscode
OP[n] und einer Eingabe [m] ausführt.
-
Bezugszeichen 36–31 ist
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe des Inverters 34 und
der Eingabe [31] ausführt.
Bezugszeichen 36 –[31-(m-1)]
bezeichnet eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe
des Inverters 34 und einer Eingabe [31-(m – 1)] ausführt. Bezugszeichen 36 –(31 – m) bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe des
Inverters 34 und einer Eingabe [31 – m] ausführt. Bezugszeichen 36 – 0 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe des
Inverters 34 und einer Eingabe [0] ausführt.
-
Bezugszeichen 37–31 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an den Ausgaben der
NAND-Schaltungen 35–31 und 36-31 ausführt, um
eine Ausgabe [31] zu erzeugen. Bezugszeichen 37 –(31-(m – 1)] bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an den Ausgaben der
NAND-Schaltungen 35 –[31-(m – 1) ] und 36 –[–31-(m – 1) ] ausführt, um
eine Ausgabe [31-(m – 1)]
zu erzeugen. Bezugszeichen 37 –(31 – m) bezeichnet eine NAND-Schaltung,
die eine NAND-Operation an den Ausgaben der NAND-Schaltungen 35 –(31 – m) und 36 –(31-m) ausführt, um
eine Ausgabe [31 – m]
zu erzeugen. Bezugszeichen 37 – 0 bezeichnet eine NAND-Schaltung,
die eine NAND-Operation an den Ausgaben der NAND-Schaltungen 35 – 0 und 36 – 0 ausführt, um eine
Ausgabe [0] zu erzeugen.
-
Wenn
der Operationscode OP[n] in dem in 3 gezeigten
Rechtsverschieber "1" ist, dient jede der
NAND-Schaltungen 35–31 bis 35 –[31-(m – 1)] als
Inverter für
die Ausgabe der UND-Schaltung 13, dient jede der NAND-Schaltungen 35 –(31 – m) bis 35 – 0 als
Inverter für
eine Eingabe [31:m], wird die Ausgabe des Inverters 34 "0" und wird jede der
Ausgaben der NAND-Schaltungen 36–31 bis 36 – 0 auf "1" festgelegt. Als Resultat dienen die
NAND-Schaltungen 37–31 bis 37 – 0 jeweilig
als Inverter für
die NAND-Schaltungen 35–31 bis 35 – 0. Somit
funktioniert der in 3 gezeigte
Rechtsverschieber als Verschieber mit einem Verschiebungsbetrag
von m Bits nach rechts.
-
Wenn
der Operationscode OP[n] "0" ist, wird jede der
Ausgaben der NAND-Schaltungen 35–31 bis 35 – 0 auf "1" festgelegt, wird die Ausgabe des Inverters 34 "1" und dient jede der
NAND-Schaltungen 36–31 bis 36 – 0 als
Inverter für
eine Eingabe [31:0]. Als Resultat dienen die NAND-Schaltungen 37–31 bis 37 – 0 jeweilig
als Inverter für
die NAND-Schaltungen 36-31 bis 36 – 0. Somit
funktioniert der in 3 gezeigte
Rechtsverschieber als Puffer für
die Eingabe [31:0] mit einem Verschiebungsbetrag von 0.
-
4 ist ein Schaltungsdiagramm,
das die Struktur der ODER-/Pufferschaltung 20 zeigt. In
dieser Figur bezeichnet Bezugszeichen 39 eine NAND-Schaltung,
die eine NAND-Operation an der Ausgabe LOR16 der ODER-Schaltung 15 und
dem invertierten Verschiebungsbetragangabesignal /SF[4] ausführt, und
Bezugszeichen 40 bezeichnet einen Inverter, der die Ausgabe
der NAND-Schaltung 39 invertiert. Bezugszeichen 41 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe LOR8
der ODER-Schaltung 16 und dem invertierten Verschiebungsbetragangabesignal
/SF[3] ausführt,
und Bezugszeichen 42 bezeichnet einen Inverter, der die
Ausgabe der NAND-Schaltung 41 invertiert.
-
Bezugszeichen 43 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe LOR4
der ODER-Schaltung 17 und dem invertierten Verschiebungsbetragangabesignal
/SF[2] ausführt,
und Bezugszeichen 44 bezeichnet einen Inverter, der die
Ausgabe der NAND-Schaltung 43 invertiert. Bezugszeichen 45 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe LOR2
der ODER-Schaltung 18 und dem invertierten Verschiebungsbetragangabesignal
/SF[1] ausführt,
und Bezugszeichen 46 bezeichnet einen Inverter, der die
Ausgabe der NAND-Schaltung 45 invertiert.
-
Bezugszeichen 47 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe LBF
der Pufferschaltung 19 und dem invertierten Verschiebungsbetragangabesignal
/SF[0] ausführt,
und Bezugszeichen 48 bezeichnet einen Inverter, der die
Ausgabe der NAND-Schaltung 47 invertiert. Bezugszeichen 49 bezeichnet
einen Inverter, der die Eingangsdaten DI[0] invertiert, und Bezugszeichen 50 bezeichnet
einen Inverter, der die Ausgabe des Inverters 49 invertiert.
-
Bezugszeichen 51 bezeichnet
eine NOR-Schaltung, die eine NOR-Operation an den Ausgaben der Inverter 40, 42 und 44 ausführt. Bezugszeichen 52 bezeichnet
eine NOR-Schaltung, die eine NOR-Operation an den Ausgaben der Inverter 46, 48 und 50 ausführt. Bezugszeichen 53 bezeichnet
eine NAND-Schaltung,
die eine NAND-Operation an den Ausgaben der NOR-Schaltungen 51 und 52 ausführt.
-
5 zeigt die Beziehung zwischen
dem Verschiebungsbetrag, dem Verschiebungsbetragangabesignal SF[4:0],
dem invertierten Verschiebungsbetragangabesignal /SF[4:0] und Signalen,
die einer ODER-Operation durch die ODER-/Pufferschaltung 20 ausgesetzt
sind. Wenn der Verschiebungsbetrag 0 bis 30 ist, führt die
ODER-/Pufferschaltung 20 eine ODER-Operation an den Ausgaben der ODER-Schaltungen 15 bis 18 aus,
die Linksverschiebern mit einem Verschiebungsbetrag von 0 entsprechen,
oder an der Ausgabe LBF der Pufferschaltung 19, wenn der
Linksverschieber 7 keine Verschiebungsoperation ausführt. Wenn
der Verschiebungsbetrag 31 ist, puffert die ODER-/Pufferschaltung 20 die
Eingangsdaten DI[0].
-
6 ist ein Schaltungsdiagramm,
das die Struktur der ODER-/Pufferschaltung 26 zeigt. In
dieser Figur bezeichnet Bezugszeichen 55 eine NAND-Schaltung,
die eine NAND-Operation an der Ausgabe ROR16 der ODER-Schaltung 21 und
dem Verschiebungsbetragangabesignal SF[4] ausführt, und Bezugszeichen 56 bezeichnet
einen Inverter, der die Ausgabe der NAND-Schaltung 55 invertiert.
Bezugszeichen 57 bezeichnet eine NAND-Schaltung, die eine
NAND-Operation an der Ausgabe ROR8 der ODER-Schaltung 22 und
dem Verschiebungsbetragangabesignal SF[3] ausführt, und Bezugszeichen 58 bezeichnet
einen Inverter, der die Ausgabe der NAND-Schaltung 57 invertiert.
-
Bezugszeichen 59 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe ROR4
der ODER-Schaltung 23 und dem Verschiebungsbetragangabesignal
SF[2] ausführt, und
Bezugszeichen 60 bezeichnet einen Inverter, der die Ausgabe
der NAND-Schaltung 59 invertiert. Bezugszeichen 61 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe ROR2
der ODER-Schaltung 24 und dem Verschiebungsbetragangabesignal
SF[1) ausführt,
und Bezugszeichen 62 bezeichnet einen Inverter, der die
Ausgabe der NAND-Schaltung 61 invertiert.
-
Bezugszeichen 63 bezeichnet
eine NAND-Schaltung, die eine NAND-Operation an der Ausgabe RBF
der Pufferschaltung 25 und dem Verschiebungsbetragangabesignal
SF[0] ausführt,
und Bezugszeichen 64 bezeichnet einen Inverter, der die Ausgabe
der NAND-Schaltung 63 invertiert. Bezugszeichen 65 bezeichnet
einen Inverter, der die Eingangsdaten DI[31] invertiert, und Bezugszeichen 66 bezeichnet
einen Inverter, der die Ausgabe des Inverters 65 invertiert.
-
Bezugszeichen 67 bezeichnet
eine NOR-Schaltung, die eine NOR-Operation an den Ausgaben der Inverter 56, 58 und 60 ausführt. Bezugszeichen 68 bezeichnet
eine NOR-Schaltung, die eine NOR-Operation an den Ausgaben der Inverter 62, 64 und 66 ausführt. Bezugszeichen 69 bezeichnet
eine NAND-Schaltung,
die eine NAND-Operation an den Ausgaben der NOR-Schaltungen 67 und 68 ausführt.
-
7 zeigt die Beziehung zwischen
dem Verschiebungsbetrag, dem invertierten Verschiebungsbetragangabesignal /SF[4:0]
und Signalen, die einer ODER-Operation durch die ODER-/Pufferschaltung 26 ausgesetzt
sind. Wenn der Verschiebungsbetrag 0 bis 30 ist, führt die
ODER-/Pufferschaltung 26 eine ODER-Operation an den Ausgaben
der ODER-Schaltungen 21 bis 24 aus, die Rechtsverschiebern
mit einem Verschiebungsbetrag von 0 entsprechen, oder an der Ausgabe
RBF der Pufferschaltung 25, wenn der Rechtsverschieber 12 keine
Verschiebungsoperation ausführt.
Wenn der Verschiebungsbetrag 31 ist, puffert die ODER-/Pufferschaltung
26 die Eingangsdaten DI[0].
-
Wenn
der Operationscode OP in der Nullbestimmungss-ignalerzeugungsschaltung
mit der obigen Struktur "0" ist, selektiert
der Selektor 14 die Ausgabe [31:0] des Linksverschiebers 7 als
Ausgangsdaten DO[31:0], und der Selektor 27 selektiert
die Ausgabe der ODER-/Pufferschaltung 20 als Nullbestimmungssignal
ZD. Demnach werden der Verschieber 1 und die Nullbestimmungssignalerzeugungsschaltung 2 der
vorliegenden Erfindung einer Konfiguration äquivalent, die in 8 gezeigt ist.
-
Wenn
der Operationscode OP andererseits "1" ist,
selektiert der Selektor 14 die Ausgabe [31:0] des Rechtsverschiebers 12 als
Ausgangsdaten DO[31:0], und der Selektor 27 selektiert
die Ausgabe der ODER-/Pufferschaltung 26 als Nullbestimmungssignal
ZD. Demnach werden der Verschieber 1 und die Nullbestimmungssignalerzeugungsschaltung 2 der
vorliegenden Erfindung einer Konfiguration äquivalent, die in 9 gezeigt ist.
-
10 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung 2 der vorliegenden
Erfindung in dem Fall, wenn der Verschieber 1 als Linksverschieber
funktioniert und der Verschiebungsbetrag 0 ist. Um zu bestimmen,
ob die Ausgangsdaten DO[31:0] Null sind oder nicht, müssen alle Bits,
die in den Ausgangsdaten DO[31:0] enthalten sind, einer ODER-Operation
unterzogen werden.
-
Hier
sind die logischen Werte der Ausgangsdaten DO[31], DO[30:29], DO[28:25],
DO[24:17], DO[16:1] und DO[0] logischen Werten der Ausgabe [31] des
Linksverschiebers 7, der Ausgabe [30:29] des Linksverschiebers 6,
der Ausgabe [28:25] des Linksverschiebers 5, der Ausgabe
[24:17] des Linksverschiebers 4, der Ausgabe [16:1] des
Linksverschiebers 3 bzw. der Eingangsdaten DI[0] gleich.
-
In
solch einem Fall führt
die ODER-/Pufferschaltung 20 eine ODER-Operation an der
Ausgabe LOR16 der ODER-Schaltung 1.5, der Ausgabe LOR8 der
ODER-Schaltung 16, der Ausgabe LOR4 der ODER-Schaltung 17,
der Ausgabe LOR2 der ODER-Schaltung 18, der Ausgabe LBF
der Pufferschaltung 19 und den Eingangsdaten DI[0] aus,
wie in 5 gezeigt. Demnach
führt die
ODER-/Pufferschaltung 20 eine ODER-Operation an den Ausgangsdaten
DO[31:0] äquivalent
aus und gibt das Resultat als Nullbestimmungssignal ZD aus.
-
11 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung 2 der vorliegenden
Erfindung in dem Fall, wenn der Verschieber 1 als Linksverschieber
funktioniert und der Verschiebungsbetrag 9 ist. Da die
Ausgangsdaten DO[8:0] in diesem Fall Null sind, ist es erforderlich,
eine ODER-Operation an den Ausgangsdaten DO[31:9] auszuführen, um
zu bestimmen, ob die Ausgangsdaten DO[31:0] Null sind.
-
Hier
sind die logischen Werte der Ausgangsdaten DO[31:30], DO[29:26],
DO[25:10] und DO[9] den logischen Werten der Ausgabe [30:29] des Linksverschiebers 6,
der Ausgabe [28:25] des Linksverschiebers 5, der Ausgabe
[16:1] des Linksverschiebers 3 bzw. der Eingangsdaten DI[0]
gleich.
-
Die
ODER-/Pufferschaltung 20 führt eine ODER-Operation an
der Ausgabe LOR16 der ODER-Schaltung 15, der Ausgabe LOR4 der ODER-Schaltung 17,
der Ausgabe LOR2 der ODER-Schaltung 18 und den Eingangsdaten
DI[0] aus. Demnach führt
die ODER-/ Pufferschaltung 20 eine ODER-Operation an den
Ausgangsdaten DO[31:9] äquivalent
aus und gibt das Resultat als Nullbestimmungssignal ZD aus.
-
12 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung 2 der vorliegenden
Erfindung in dem Fall, wenn der Verschieber 1 als Linksverschieber
funktioniert und der Verschiebungsbetrag 20 ist. Da die Ausgangsdaten
DO[19:0] in diesem Fall Null sind, ist es erforderlich, eine ODER-Operation
an den Ausgangsdaten DO[31:20] auszuführen, um zu bestimmen, ob die
Ausgangsdaten DO[31:0] Null sind oder nicht.
-
Hier
sind die logischen Werte der Ausgangsdaten DO[31], DO[30:29], DO[28:21]
und DO[20] logischen Werten der Ausgabe [31] des Linksverschiebers 7,
der Ausgabe [30:29] des Linksverschiebers 6, der Ausgabe
[24:17] des Linksverschiebers 4 bzw. der Eingangsdaten
DI[0] gleich.
-
Die
ODER-/Pufferschaltung 20 führt eine ODER-Operation an
der Ausgabe LOR4 der ODER-Schaltung 16, der Ausgabe LOR2
der ODER-Schaltung 18, der Ausgabe LBF der Pufferschaltung 19 und
den Eingangsdaten DI[0] aus, wie in 5 gezeigt.
Demnach führt
die ODER-/Pufferschaltung 20 eine ODER-Operation an den
Ausgangsdaten DO[31:20] äquivalent
aus und gibt das Resultat als Nullbestimmungssignal ZD aus.
-
13 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung 2 der vorliegenden
Erfindung in dem Fall, wenn der Verschieber 1 als Rechtsverschieber
funktioniert und der Verschiebungsbetrag Null ist. Um in diesem
Fall zu bestimmen, ob die Ausgangsdaten DO[31:0] Null sind oder nicht,
müssen
alle Bits, die in den Ausgangsdaten DO[31:0] enthalten sind, einer
ODER-Operation unterzogen werden.
-
Hier
sind die logischen Werte der Ausgangsdaten DO(31], DO[30:15], DO[14:7],
DO[6:3], DO[2:1] und DO[0] den logischen Werten der Eingangsdaten
DI[31], der Ausgabe [30:15] des Rechtsverschiebers 8, der
Ausgabe [14:7] des Rechtsverschiebers 9, der Ausgabe [6:3]
des Rechtsverschiebers 10, der Ausgabe [2:1] des Rechtsverschiebers 11 bzw.
der Ausgabe [0] des Rechtsverschiebers 12 gleich.
-
Die
ODER-/Pufferschaltung 26 führt eine ODER-Operation an
der Ausgabe ROR16 der ODER-Schaltung 21, der Ausgabe ROR8
der ODER-Schaltung 22, der Ausgabe ROR4 der ODER-Schaltung 23,
der Ausgabe ROR2 der ODER-Schaltung 24, der Ausgabe RBF
der Pufferschaltung 25 und den Eingangsdaten DI[31] aus,
wie in 7 gezeigt. Demnach
führt die
ODER-/Pufferschaltung 26 eine ODER-Operation an allen Bits,
die in den Ausgangsdaten DO[31:0] enthalten sind, äquivalent
aus und gibt das Resultat als Nullbestimmungssignal ZD aus.
-
14 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung 2 der vorliegenden
Erfindung in dem Fall, wenn der Verschieber 1 als Rechtsverschieber
funktioniert und der Verschiebungsbetrag 9 ist. Um in diesem
Fall zu bestimmen, ob die Ausgangsdaten DO[31:0] Null sind oder
nicht, müssen
alle Bits, die in den Ausgangsdaten DO[31:0] enthalten sind, einer
ODER-Operation unterzogen werden.
-
Hier
sind die logischen Werte der Ausgangsdaten DO[31:22], DO[21:6],
DO[5:2], DO[1:0] den logischen Werten der Eingangsdaten DI[31],
der Ausgabe [30:15] des Rechtsverschiebers 8, der Ausgabe [6:3]
des Rechtsverschiebers 10 bzw. der Ausgabe [2:1] des Rechtsverschiebers 11 gleich.
-
Die
ODER-/Pufferschaltung 26 führt eine ODER-Operation an
der Ausgabe ROR16 der ODER-Schaltung 21, der Ausgabe ROR4
der ODER-Schaltung 23, der Ausgabe ROR2 der ODER-Schaltung 24 und
den Eingangsdaten DI[31] aus, wie in 7 gezeigt.
Demnach führt
die ODER-/Pufferschaltung 26 eine ODER-Opera tion an allen
Bits, die in den Ausgangsdaten DO[31:0] enthalten sind, äquivalent
aus und gibt das Resultat als Nullbestimmungssignal ZD aus.
-
15 zeigt eine Operation
der Nullbestimmungssignalerzeugungsschaltung 2 der vorliegenden
Erfindung in dem Fall, wenn der Verschieber 1 als Rechtsverschieber
funktioniert und der Verschiebungsbetrag 20 ist. Um in diesem Fall
zu bestimmen, ob die Ausgangsdaten DO[31:0] Null sind oder nicht, müssen alle
Bits, die in den Ausgangsdaten DO[31:0] enthalten sind, einer ODER-Operation
unterzogen werden.
-
Hier
sind die logischen Werte der Ausgangsdaten DO(31:11], DO[10:3],
DO[2:1] und DO[0] den logischen Werten der Eingangsdaten DI[31],
der Ausgabe [14:7] des Rechtsverschiebers 9, der Ausgabe [2:1]
des Rechtsverschiebers 11 bzw, der Ausgabe [0] des Rechtsverschiebers 12 gleich.
-
Die
ODER-/Pufferschaltung 26 führt eine ODER-Operation an
der Ausgabe ROR8 der ODER-Schaltung 22, der Ausgabe ROR2
der ODER-Schaltung 24, der Ausgabe RBF der Pufferschaltung 25 und
den Eingangsdaten DI[31] aus, wie in 7 gezeigt.
Demnach führt
die ODER-/Pufferschaltung 26 eine ODER-Operation an allen
Bits in den Ausgangsdaten DO[31:0] äquivalent aus und gibt das
Resultat als Nullbestimmungssignal ZD aus.
-
In
dem Fall, wenn der Verschieber 1 als Linksverschieber funktioniert,
wie oben beschrieben, führt
die Nullbestimmungssignalerzeugungsschaltung 2 der vorliegenden
Erfindung eine ODER-Operation an vorbestimmten Bits in den 32-Bit-Daten, die von
Linksverschiebern mit einem Verschiebungsbetrag von 0 von den Linksverschiebern 3 bis 7 ausgegeben
werden, aus oder puffert diese, und zwar zu derselben Zeit, zu der
eine Verschiebungsoperation der Linksverschiebereinheit des Verschiebers 1 ausgeführt wird.
Nachdem die ODER-/Pufferschaltung 20 eine ODER-Operation
oder eine Pufferungsoperation vollendet hat, wird schließlich das
Nullbestimmungssignal ZD erzeugt.
-
In
dem Fall, wenn der Verschieber 1 andererseits als Rechtsverschieber
funktioniert, führt
die Nullbestimmungssignalerzeugungsschaltung 2 der vorliegenden
Erfindung eine ODER-Operation an vorbestimmten Bits in den 32-Bit-Daten,
die von Rechtsverschiebern mit einem Verschiebungsbetrag von 0 von
den Rechtsverschiebern 8 bis 12 ausgegeben werden,
aus oder puffert diese, und zwar zu derselben Zeit, zu der eine
Verschiebungsoperation der Rechtsverschiebereinheit des Verschiebers 1 ausgeführt wird.
Nachdem die ODER-/Pufferschaltung 26 eine ODER-Operation
oder eine Pufferungsoperation vollendet hat, wird schließlich das
Nullbestimmungssignal ZD erzeugt.
-
Kurz
gesagt, da die Nullbestimmungssignalerzeugungsschaltung 2 der
vorliegenden Erfindung das Nullbestimmungssignal ZD zu derselben Zeit
erzeugen kann, zu der die Verschiebungsoperation in dem Verschieber 1 erfolgt,
kann eine Hochgeschwindigkeitsnullbestimmungsoperation für die Ausgangsdaten
DO[31:0] des Verschiebers 1 ausgeführt werden.
-
Es
versteht sich, daß die
ODER-Schaltung 15 eine ODER-Operation an den Daten [16:1] ausführen kann,
bevor sie dem Linksverschieber 3 eingegeben werden. Des
gleichen kann die ODER-Schaltung 16 eine ODER-Operation
an den Daten [24:17] ausführen,
bevor sie dem Linksverschieber 4 eingegeben werden, kann
die ODER-Schaltung 17 eine ODER-Operation an den Daten
[28:25] ausführen,
bevor sie dem Linksverschieber 5 eingegeben werden, kann
die ODER-Schaltung 18 eine ODER-Operation an den Daten [30:29] ausführen, bevor
sie dem Linksverschieber 6 eingegeben werden, und kann
die Pufferschaltung 19 die Daten [31] puffern,
bevor sie dem Linksverschieber 7 eingegeben werden.
-
Ferner
kann die ODER-Schaltung 21 eine ODER-Operation an den Daten
[30:15] ausführen, bevor
sie dem Rechtsverschieber 8 eingegeben werden, kann die
ODER-Schaltung 22 eine ODER-Operation an den Daten [14:7]
ausführen,
bevor sie dem Rechtsverschieber 9 eingegeben werden, kann
die ODER-Schaltung 23 eine
ODER-Operation an den Daten [6:3] ausführen, bevor sie dem Rechtsverschieber 10 eingegeben
werden, kann die ODER-Schaltung 24 eine ODER-Operation
an den Daten [2:1] ausführen,
bevor sie dem Rechtsverschieber 11 eingegeben werden, und
kann die Pufferschaltung 25 eine ODER-Operation an den
Daten [0] ausführen,
bevor sie dem Rechtsverschieber 12 eingegeben werden.
-
16A bis 16D zeigen die ODER-Schaltungen 15 bis 18 (auch
in 1 gezeigt), die in
der Nullbestimmungssignalerzeugungsschaltung der vorliegenden Erfindung
verwendet werden.
-
Die
in 16A gezeigte ODER-Schaltung 18 umfaßt ein NOR-Gatter 18a und
ein NOT-Gatter 18b. Die in 16B gezeigte
ODER-Schaltung 17 umfaßt
zwei NOR-Gatter 17a und ein NAND-Gatter 17b. Die
in 16C gezeigte ODER-Schaltung 16 umfaßt drei
NOR-Gatter 16a und ein NAND-Gatter 16b. Die in 16D gezeigte ODER-Schaltung 15 umfaßt sechs
NOR-Gatter 15a,
die 16 Eingaben insgesamt empfangen, zwei NAND-Gatter 15b, ein NOR-Gatter 15c,
das die Ausgaben von den NAND-Gattern 15b empfängt, und
ein NOT-Gatter 15d, das die Ausgabe von dem NOR-Gatter 15C empfängt.
-
In
der obigen Beschreibung der vorliegenden Erfindung umfaßt der Verschieber 1 die
Linksverschiebereinheit, die aus den Linksverschiebern 3 bis 7 gebildet
ist, und die Rechtsverschiebereinheit, die aus den Rechtsverschiebern 8 bis 12 gebildet
ist. Die ODER-Schaltungen 21 bis 24, die Pufferschaltung 25 und
der Selektor 27 können
jedoch weggelassen werden. In solch einem Fall funktioniert der
Ver schieber 1 nur als Linksverschieber. Alternativ können die ODER-Schaltungen 15 bis 18,
die Pufferschaltung 19 und der Selektor 27 weggelassen
werden. In solch einem Fall funktioniert der Verschieber 1 nur
als Rechtsverschieber.