DE68921663T2 - Paritätsvorausbestimmung für Binäraddierer mit Auswahl. - Google Patents
Paritätsvorausbestimmung für Binäraddierer mit Auswahl.Info
- Publication number
- DE68921663T2 DE68921663T2 DE68921663T DE68921663T DE68921663T2 DE 68921663 T2 DE68921663 T2 DE 68921663T2 DE 68921663 T DE68921663 T DE 68921663T DE 68921663 T DE68921663 T DE 68921663T DE 68921663 T2 DE68921663 T2 DE 68921663T2
- Authority
- DE
- Germany
- Prior art keywords
- bits
- bit
- parity
- result
- significant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
- Die vorliegende Erfindung betrifft ein Datenverarbeitungssystem, das einen Addierer zum Addieren zweier binärer Datenoperanden A und B enthält, wobei die Operanden digitale Signale umfassen, die die Größe von Binärzahlen repräsentieren, welche durch die Datenoperanden dargestellt werden, der Addierer stellt eine Anzahl N Ergebnisbits bereit, die eine vorgegebene Wertigkeit besitzen und die das Ergebnis der Addition der binären Datenoperanden darstellen.
- Ein binärer Addierer ist eine grundlegende Bäugruppe von elektronischen, digitalen Computersystemen. Geschwindigkeit und Zuverlässigkeit der binären Addierer sind deshalb wesentliche Gesichtspunkte beim Entwurf von Computersystemen. Es ist wohlbekannt, daß ein Parallelübertragsaddierer das Ergebnis einer Operation mit zwei Operanden schneller erzeugt als ein Schnellübertragsaddierer Es ist ebenfalls wohlbekannt, dad ein Parallelübertragsaddierer auf viele verschiedene Arten implementiert werden kann. Die vorliegende Erfindung betrifft nicht den Entwurf eines binären Hochgeschwindigkeitsaddierers sondern bezieht sich vielmehr auf den Entwurf einer Prüflogik zur Pehlererkennung in einem Hochgeschwindigkeitsaddierer. Zur Erklärung der Arbeitsweise von Parallelübertragsaddierern sei auf Langdon und Tang, "Concurrent Error Detection for Group-Look Ahead Adders", IBM Tech. Rep., TR 01.1200, 2C. August 1969 verwiesen.
- In der Vergangenheit wurden Computer weitestgehend von zu steuernden Zeitabläufen getrennt und im Stapelverarbeitungsmodus betrieben, und die Folgen unerkannter Hardwarefehler waren relativ gering. Heutzutage werden digitale Computer, sogar Großrechner, innerhalb von on-line ablaufenden Informationsverarbeitungsprozessen, bei der Datenerfassung und Wiederherstellung und bei der Echtzeitsteuerung von Prozessen eingesetzt. Eine Fehlfunktion des Computers muß in jedem dieser Fälle so schnell wie möglich erkannt werden. Gleichzeitig haben es gewachsene Größe und Komplexität digitaler Computer immer schwieriger gemacht, eine korrekte Arbeit der Maschinen sicherzustellen.
- In modernen Computersystemen wird die Betriebszuverlässigkeit durch einen eingebaute Fehlererkennung unterstützt. Ein übliches Verfahren der Fehlererkennung ist die Paritätsprüfung. Im allgemeinen wird bei einem Paritätsprüfungsverfahren ein "Paritäts"bit in Abhängigkeit von einer Anzahl "Einsen" innerhalb einer zufälligen Bitgruppe erzeugt. Bei einem Byte, das acht Datenbits umfaßt, nimmt das Paritätsbit typischerweise einen digitalen Wert (0 oder 1) an, wodurch die Summe der Einsen in der zusammengesetzten Gruppe der neun Bits ungerade wird, wenn ungerade Parität verwendet wird, oder gerade, wenn gerade Pärität verwendet wird.
- In modernen Computerarchitekturen werden Daten wischen Struktureinheiten in einem Standardformat übertragen oder ausgetauscht. Zum Beispiel werden in vielen modernen Architekturen Daten in Form von Mulri-Eyte "Worten" überträgen. Es ist üblich, daß ein Paritätsbit jedes übertragene Byte begleitet, so daß eine Übertragung eines vier-Byte-Wortes sechsunddreißig Bits beinhaltet.
- Wenn Worte durch Computerbaugruppen verarbeitet werden, wie beispielsweise in einem Addierer, werden die Paritätsbits abgetrennt und separat behandelt. Wenn zwei Worte in einem Addierer kombiniert werden, um ein Ergebniswort zu erzeugen, müssen Paritätsbits für jedes Byte des Ergebnisses erzeugt werden. Früher wurden die Paritätsbits für das Ergebniswort dann erzeugt, wenn das Wort vom Addierer verfügbar war. In diesem Fall wurden die Paritätsbits durch Verarbeitung des Ergebnisses erzeugt. Um die Geschwindigkeit konventioneller Addiereroperationen zu erhöhen, ist es heute übliche Praxis, daß die Paritätsbits für das Ergebnis durch eine Paritätsvorhersageoperation, die gleichzeitig mit der Additionsoperation ausgeführt wird, vorausgesagt werden. In solchen Schemata wird die vorausgesagte Parität erzeugt und dann mit der tatsächlichen Parität des Ergebniswortes verglichen. Wenn eine Paritätsungleichheit erkannt wird, wird durch den Vergleich ein Fehlersignal erzeugt, daß den Addierer veranlaßt, seine Operation zu wiederholen. Wenn ein zweiter Fehler erkannt wird, wird angenommen, daß der Addierer eine Fehlfunktion hat.
- Paritätsvorhersageschemata werden von Louie in dem U.S.-Patent Nr. 3 925 647 und von Kalandra et al. im IBM TDB, Band 23, Nr. 12, (5/81) vorgestellt. Diese Schemata enthalten Paritätsvorhersageschaltungen, welche sehr komplex sind und größere Verzögerung hervorrufen können als der Addierer selbst. Die Ausschaltung von Verzögerungen Ist besonders in Pipeline-Verarbeitungssystemen von Bedeutung. Die Verzögerungen der Paritätsvorhetsagen konfrontieren den systementwickier mit der Entscheidung: Dem System gestatten mit der geschwindigkeit der Addierer zu arbeiten und Mittel bereitzustellen, um die Systemfehler aufzudecken, die durch Fehler des Addierers hervorgerufen werden oder aber die Geschwindigkeit des Systems herabzusetzen und die Verzögerungen der Paritätsvorhersageschaltung zu tolerieren.
- Ein anderes Paritätsvorhersageschema wird von Taylor in dem U.S.-Patent Nr. 3 911 261 gezeigt. Das Schema von Taylor liefert jedoch nur eine "bestmöglich gesächzte" vorausgesagte Parität. Die vermehrten Fehler und Verzögerungen, die durch ungenaue "Schätzungen" hervorgerufen werden, sind in modernen Computersystemen nicht akzeptabel.
- Die Paritätsvorhersage wird weiter durch Systemarchitekturen verkompliziert, welche "Verschiebeaddierer", verwenden. Ein Verschiebeaddierer liefert ein Ergebnis, welches mehr Bits umfaßt, als tatsächlich als Ergebnlsausgangssignal verwendet werden. In Abhängigkeit von einem Auswahlsignal wird ein Subsatz des tatsächlichen Ergebnissignals ausgewählt. Das Auswahlsignal wird von dem durchgeführten Befehl erzeugt. Zum Beispiel kann ein Addierer ein tatsächliches Ergebniswort haben, das vierunddreißig Bits umfaßt. Ein Auswahlsignal bestimmt, ob die zweiunddreißig höchstwertigen Bits oder die zweiunddreißig niederwertigsten Bits am Ausgangsport bereitgestellt werden. Dies gestattet es, die erhöhte Genauigkeit einer vierunddreißig-Bit-Additionsoperation zusammen mit der üblicheren zweiunddreißig-Bit-Busarchitektur zu verwenden, verkompliziert jedoch die Aufgabe der Paritätsvorhersage. Weil die Parität für das zweiunddreißig-Bit-Wort am Addiererausgangsport bereitgestellt werden muß, muß das Paritätsvorhersageschema berücksichtigen, daß für jedes mögliche Ausgangswort völlig andere Paritätsbits benötigt werden. Dies erfordert Paritätsvorhersageschaltungen für jede mögliche Verschiebung. Im gegebenen Beispiel führt das dazu, daß die erforderliche Paritätsvorhersageschaltung doppelt ausgeführt wird. -Die beanspruchte Erfindung stellt ein effektiveres und ökonomischeres Verfahren für die Paritatsvorhersage eines Verschiebeaddierers bereit. Beim Entwurf eines Verscbiebeaddierers kann es die ausgeführte Operation erforderlich machen, daß eine bestimmte Anzahl der höchstwertigen Bits oder der niederwert igsten Bits eines Ergebnisses ausgewählt wird, zum Beispiel können die zweiunddreißig höchstwertigen oder niederwertigsten Bits oder vierunddreißig Bits ausgewählt werden. Die Auswahl bestimmt die Parität der als Summe ausgewählten Bits. Indem die Gleichungen zur Vorhersage der Parität in Gleichungen zur Vorhersage der Parität von Summenabschnitten unterteilt werden, kann die Parität mit minimaler Verzögerung bezüglich der Auswahl durchgeführt werden. Die Paritätsgleichungen werden zerlegt, um einen Satz von Termen bereitzustellen, die nur zu einer Auswahl gehören, einen Satz von Termen die nur zu der anderen gehören und einen Satz von Termen, die von der Auswahl unabhängig sind. Die beschriebenen Ausführungsformen sind so ausgelegt, daß ein Paritätsbit für jedes eingeteilte acht-Bit-Byte bereitgestellt wird. Unter der Bedingung, daß das bereitgestellte Ausgangssignal zwei Bits weniger aufweist als die tatsächliche Summe und unter Berücksichtigung der Option höchstwertige Bits oder niederwertigste Bits auswählen zu können, enthält jedes Byte des bereitgestellten Ausgangssignals sechs Bits der tatsächlichen Summe und es kann die zwei angrenzenden höherwertigen Bits oder die zwei angrenzenden niederwertigeren Bits enthalten. Die Paritäten dieser drei Abschnitte werden bestimmt und dann in Abhängigkeit von dem Auswahlsignal kombiniert, um damit die Parität des bereitgestellten Bytes zu bestimmen. Weil das Auswahlsignal nach Bereitstellung der Operanden von Bedingungen abhängig sein kann, wird das Auswahlsignal an letztmöglicher Stelle in die Paritätsvorhersagelogik eingespeist, um so zu verhindern, daß das Ausgangssignal der Paritätsvorhersage durch die Verzögerung des Auswahlsignals verzögert wird. Diese Struktur vermeidet unnötige Verzögerungen und eine Doppelung der Paritätsvorhersageschaltungen.
- Figur 1 ist eine Darstellung der zentrale Verarbeitungseinheit eines Computers.
- Figur 2 ist eine Darstellung, die die Struktur und die Arbeitsweise eines Verschiebeaddierers oer in Figur 1 dargestellten CPU zeigt.
- Figur 3 ist eine Darstellung der struktur einer Paritätsvorhersageschaltung zur parallelen Verwendung mit dem in Figur 2 dargestellten Verschiebeaddierer.
- Figur 4 ist eine Darstellung, in der die Unterteilung eines 34- Bit-Ergebniswortes, das durch den in Figur 2 dargestellten Addierer erzeugt wird, zur Realisierung der vorliegenden Erfindung gezeigt wird.
- Die Figuren 5 und 6 zeigen, wie die Ergebnisbits zu Gruppen zusammengefaßt werden, um daraus zu erkennen, wie die Überträge bei der Realisierung der vorliegenden Erfindung berücksichtigt werden.
- Die Figuren 7 bis 16 sind Logikpläne, die eine kombinatorische Logikschaltung für eine Ausführungsform der Erfindung zeigen.
- Die Figuren 17 bis 20 sind Logikpläne, die die Implementierung der Erfindung in einer kombinatorischen UND-INVERTER (AI) Technologie zeigen.
- Figur 1 ist eine schematische Darstellung, in der die Struktur einer zentrale Verarbeitungseinheit eines Computers (CPU) 2 detailliert dargestellt ist. Die CPU 2 enthält eine Steuereinheit 12 zur Bereitstellung von Adressen für ein Adreßregister 14, welche über einen Adreßbus 8 an einen Speicher 9 weitergeleitet werden. In Abhängigkeit von den für den Speicher 9 bereitgestellten Adressen werden Programmbefehle über einen Datenbus 10 und das Datenregister 16 in ein Befehlsregister 18 (IR - instruction register) geladen. Die Steuereinheit 12 liest dann die in das IR 18 geladenen Befehle und in Abhängigkeit von den durch die Steuereinheit 12 decodierten Befehlen werden Daten von den Speicherplätzen im Speicher 9 gelesen. Die aus dem Speicher 9 gelesenen Daten können ein Paar Operanden enthalten, die für die Operandenregister (01 und 02) 20 bereitgestellt werden, um durch die Arithmetik-Logik-Einheit (ALU - arithmetic logic unit) 22 verarbeitet zu werden. Das sich aus den Operationen der ALU 22 ergebende Ausgangssignal wird an einem Ausgangs register (OR -output register bereitgestellt. Das Ausgangssignal der ALU 22 kann im Speicner 9 gespeichert oder einem anderen internen Register der CPU breitgestellt werden.
- Die ALU 22 kann einen Verschiebeaddierer enthalten, wie er in Figur 2 dargestellt ist. Die Verschiebeaddiererschaltung von Figur 2 enthält die Operandenregister 30 und 32, einen Addierer (ADD) 34, eine Übertragseinehit 35 und eine Auswahleinheit 36. Das Ausgangssignal des Addierers 34 wird durch die Auswahlschaltung 36 unter Steuerung des Befehlsregisters 18 und eines Befehlsdecodierers 40 (I DECODE - instruction decoder), welche sich in der Steuereinheit 12 befinden, weiterverarbeitet. Im Betrieb wird ein Paar Operanden, von denen jeder aus vierunddreißig Bits besteht, die vom höchstwertigen Bit (MBB - most significant bit) bis zum niederwertigsten Bit (BSB - least significant bit) angeordnet sind, an den Operandenregistern 30 und 32 bereitgestellt. Der Operand im Register 30 wjrd als Operand A (OP A) bezeichnet, während der Operand im Register 32 als Operand B (OP B) bezeichnet wird. Ein Übertragsbit von einer vorhergehenden Stelle Cin (carry-in) wird durch die übertragseinheit 35 gebildet und bereitgestellt. Eine Übertragseinheit 35 ist eine konventionelle Einheit, die unter Bezugnahme auf das U.S.- Patent Nr. 3 986 015 verstanden werden kann, deren Offenbarung durch diese Bezugnahme aufgenommen ist. Das Übertragsbit wird in Abhängigkeit von dem momentanen Befehl und dem vorhergehenden Ergebnis auf den Wert 0 oder 1 gesetzt.
- Die 34-Bit-Operanden werden für den Addierer 34 bereitgestellt, welcher ein konventioneller 34-Bit-Addierer ist. Der Addierer 34 verknüpft die Operanden und das Übertragseingangsbit, um ein 34- Bit-Ergebnis zu erzeugen, welches in die Auswahlschaltung 36 eingespeist wird. Das 34-Bit-Ergebnis enthält die von 0 bis 33 numerierten Bits, wobei Bit 0 das höchstwertige Bit (MSB) und Bit 33 das niederwertigste Bit (LSB) repräsentiert. Die Auswahlschaltung ist eine konventionelle Gatterschaltung, die durch ein AUSWAHL-Signal angesteuert wird, um entweder die 32 höchstwertigen oder niederwertigsten Bits des Ergebnisses bereitzustellen. Aus dieser Sicht heraus sind die Bits 0 bis 31 die 32 höchstwertigen Bits, was der hierin benutzten Wetigkeitsvereinbarung entspricht, während die Bits W bis 33 die niederwertigsten Bits darstellen.
- Das AUSWAHL-Signal ist ein binäres Signal, das vom Befehlsdecodierer 40 in Abhängigkeit von dem entsprechenden Befehl im Befehlsregister 18 erzeugt wird. Der Decodierer setzt das AUSWAHL- Bit in Abhängigkeit von dem Befehl so, daß es einen der zwei konventionellen digitalen Werte annimmt. In Folge dessen wird das gemäß dem Wert des AUSWAHL-Signals ausgewählte Ergebnis, das von der AUSWAHL-Schaltung 36 bereitgestellt wird, aus einem 32- Bit-Ergebnis bestehen, das die vom Addierer 34 erzeugten 32 höchstwertigen oder 32 niederwertigsten Bits umfaßt.
- Für das Verständnis der Erfindung erscheint es notwendig, sich zuerst auf Figur 4 zu beziehen, in der der Addierer 34 die konventionellen Schaltungen 42 bis 44 enthält, um Halbsummen (42), Parallelüberträge (43) und aus den Halbsummen und Parallelüberträgen Vollsummen (44) zu erzeugen. Die Schaltungen 42 bis 44 können verschiedene wohlbekannte Strukturen besitzen. Der Addierer 34 verarbeitet die Operanden A und B, von denen jeder aus 34 Bits besteht, wobei der Operand A durch A0 ... A33 vom höchstwertigen bis zum niederwertigsten Bit gekennzeichnet wird und der Operand B durch B0 ... B33, ebenfalls in Reihenfolge abnehmender Wertigkeit der Bits. Die Auswahleinheit 36 arbeitet unter Steuerung des AUSWAHL-Signals, das hiernach mit y bezeichnet wird. In der folgenden Beschreibung ist y ein binäres Signal, dessen Wert durch eine standardmäßige komplementäre Notation angezeigt wird. Demnach lautet die Bezeichnung y, wenn ein positiver Wert anllegt und y' bei einem negativen Wert. Wie oben erwähnt werden die 32 höchstwertigen oder niederwertigsten Bits, die durch den Addierer erzeugt wurden, ausgewählt und als Summe S bereitgestellt. Die Summe 50 S besteht aus 4 Bytes S0, S1, S2 und S3 in Reihenfolge vom höchstwertigen zum niederwertigsten Byte. Die Bits jedes Bytes werden durch ihre Wertigkeit indiziert. Somit busteht das höcbstwertige Bytes S0 dei Summe 50 aus den Bits S0 bis S7. Nach der Erzeugung wird die ausgewählte Summe 50 auf einen konventionellen Paritätsgenerator 52 gegeben, welcher ein Paritätsbit für jedes der Bytes S0 bis S3 erzeugt. Die vier Paritätsbits, die durch den Generator 52 erzeugt wurden, werden mit vier Paritätsbit verglichen, die durch die Paritätsvorhersageschaltung 54 der Erfindung erzeugt wurden.
- Die Paritätsvorhersageschaltung 54 erzeugt vorausgesagte Paritätsbits Pi, mit i= 0, 1, 2 oder 3. In dieser Schreibweise bezeichnet der Index i das Paritätsbit, das von der Paritätsvorhersageschaltung 54 für das entsprechende Summenbyte erzeugt wurde. Folglich ist das vorausgesagte Paritätsbit P0 das für das Summenbyte S0 vorausgesagte Bit. Jedes vorausgesagte Paritätsbit wird in einem von vier zugeordneten Antivalenzgattern (XOR) 56 mit dem entsprechenden Paritätsbit verglichen, das durch den Paritätsgenerator 52 erzeugt wurde. Folglich wird das vorausgesagte Paritätsbit P0 zusammen mit dem Paritätsbit, das durch den Generator 52 für das Summenbyte S0 erzeugt wurde, an das am weitesten links liegende XOR-Gatter 56 angelegt. Die Ausgangssignale der XOR-Gatter 56 sind mit den Eingängen des OR-Gatters 58 verbunden, um eine ERGEBNIS UNGÜLTIG Anzeige in dem Fall zu erzeugen, wenn eines der vorausgesagten Paritätsbit nicht gleich dem entsprechenden Paritätsbit ist, welches durch den Generator 52 erzeugt wurde.
- Weil die 32-Bit-Summe 50 aus den Summenbits S0 bis S31 oder S2 bis S33 bestehen kann, kann die Auswahl die Parität der vier Pytes in der 32-Bit-Summe 50 vollständig verändern. Dieses Problem wird in Figur 4 graphisch dargestellt.
- Figur 4 zeigt allgemein wie die vorausgesagten Paritäten auf das Ergebnis angewendet werden. Wenn die 32 höchstwertigen Bits ausgewählt werden, dann zeigen gemäß Figur 4 die vorausgesagten Paritätsbits die Parität über den Bits s0 bis s7, s8 bis s15, S16 bis S23 und S24 bis S31 an. Wenn die 32 niederwertigsten Bits ausgewählt werden, werden die Paritätsbits die Parität über s2 bis s9, s10 bis s17, s18 bis s25 und s26 bis s33 anzeigen. Allgemein ist festzustellen, daß, wenn beide Sätze aus vier Paritätsbits gleichzeitig erzeugt werden und die Paritätsbits für die Summenbytes der entsprechenden Wertigkeit in entsprechende Auswahlschaltungen 60, 62, 64 und 66 eingespeist werden, das AUSWAHL-Signal dazu verwendet werden kann, um den korrekten Satz Paritätsbits für die ausgewählte Summe auszuwählen. Somit gilt, wenn der positive Zustand des AUSWAHL-Signals (y) verwendet wird, um die Auswahl der höchstwertigen Summenbits s0 bis s31 zu kennzeichnen, während der entgegengesetzte Zustand (y') die Summenbits s2 bis s33 auswählt, daß die Auswahlschaltung 60 für y das vorausgesagte Paritätsbit für die Summenbits s0 bis s7 auswählt und für y' das vorausgesagte Paritätsbit für S2 bis s9. Das vorausgesagte Paritätsbit, das durch die Schaltung 60 ausgewählt wurde, wird als P0, Paritätsbit für Byte S0 der ausgewählten Summe 50, auf die XOR-Gatter 56 gegeben. Genauso wählen die Auswahlschaltungen 62, 64 und 66 die vorausgesagten Paritätsbits P1, P2 und P3 für die Bytes S1, S2 und S3 der ausgewählten Summe 50 aus. Für den Fachmann wird ersichtlich sein, daß die Auswahl der Ergebnisbits für die Bereitstellung der Summe 50 die Parität jedes der vier Bytes innerhalb der 32-Bit-Summe vollständig verändern kann.
- Mit Bezug auf Anhang A, in dem eine Auflistung der Schreibweisen und Grundgleichungen angegeben ist, wird das Konzept der Auswahl der vorausgesagten Paritätsbits, das in Figur 4 dargestellt wird, analytisch abgeleitet. Die Einträge A.1.5 bis A.1.9 sind wohlbekannte Bezeichnungen des Fachgebietes. Es wird außerdem auf den oben zitierten IBM Technical Report von Langdon, Jr. et al. verwiesen.
- Formal gilt, wenn y (der Wert des AUSWAHL-Signals) eine Variable ist, die die Auswahl der Summenbits s0 bis s31 bezeichnet, dann muß aufgrund gegenseitigen Ausschließens y' (das Komplement von y) die Auswahl der Summenbits s2 bis s33 kennzeichnen. P (a,b) sei die Parität der Summe von Bit a bis Bit b; dann gilt für Pi des Summenbytes Si:
- (1) yP(m,m+7) + y'P(n,n+7) = Pi
- so daß:
- i Element N, m = 8i, n = m + 2 und
- 0 ≤ i ≤ 3
- und bei Verwendung der Grundgleichungen A.2.2 aus Anhang A
- (2) yP(m,m+7) V y'P(n,n+W) = Pi
- Wenn:
- P(m,m+7) = P(m,n-1) V P(n,m+W)
- und:
- P(n,n+7) = P(n,m+7) V P(m+8,n+7)
- dann:
- (2) ==> Pi = y(P(m,n-l) V P(n,m+7) ) V y'(P(n,m+7) V
- V P(m+8,n+7))
- = yP (m,n-1) V yP(n,m+7) V y'P(n,m+7) V
- y'P (m+8,n+7)
- = yP(m,n-1) V P(n,m+7) (y V y') V
- y'P(m+8,n+7)
- (3) Pi = yP(m,n-1) V P(n,m+7) V y'P(m+8,n+7)
- In Gleichung (3) gibt es drei Paritätsgruppen, die durch eine Antivalenzoperation verknüpft werden. Die erste ist mit y UND- verknüpft, die zweite ist von der Auswahl unabhängig, und die dritte ist mit der Auswahl y' UND-verknüpft. Für die Iinplementierung von Gleichung (3) müssen die antivalent verknüpften Größen erzeugt werden.
- Es ist allgemein bekannt, daß die Berücksichtigung eines Übertragsbits einen wichtigen Faktor bei der Paritätsvorhersage von Summen darstellt. Paritätsvorhersageschemata verwenden entweder beide Eingangsoperanden und Übertragsbits aus dem Addierer selbst, oder sie duplizieren die Übertragsbits, indem sie diese selbst erzeugen. Die Summe wird gebildet, indem das Übertragsbit entweder in das "Byte" oder das "Halbbyte" verwendet wird. Folglich muß das Übertragsbit bei der Paritätsvorhersage der Bytes berücksichtigt werden.
- Unter diesem Gesichtspunkt bezeichnet Übertrag in das "Byte" den Übertrag, der zwischen Bitgruppen während Additionsoperationen erzeugt wird, die ausgeführt werden, um eine Summe zu bilden. Siehe Quelle Langdon et al. Seite 2. In der vorliegenden Erfindung bezeichnet ein "Byte"-Übertrag den Übertrag, der in die Operandenbitoperationen einbezogen wird, welche ein entsprechendes Byte der Summe erzeugen, wobei ein Byte, wie oben erwähnt, acht aufeinanderfolgende Bits enthält. Ein "Halbbyte"-Übertrag ist der Übertrag, der während Additionsoperationen in eine 4- Bit-Gruppe einbezogen wird.
- Es wird nun eine Maschine zur Vorhersage der Parität von Summenbytes beschrieben. Diese Maschine basiert auf der Zusammenfassung von Summenbits, auf vorgegebene Weise jedes Bit betreffend. Die Paritätsvorhersagemaschine sagt ein korrektes Paritätsbit für das durch den Zustand des AUSWAHL-Signals ausgewählte Byte voraus. In der folgenden Beschreibung und in anderen im folgenden dargestellten Beispielen sind die Halbaddiererfunktionen Ti, Gi, Hi und Tx-i dieselben, wie sie in der oben zitierten Quelle Langdon et al. offenbart wurden.
- Bei der Ableitung der Paritätsvorhersagegleichungen, in denen das Übertragsbit in das Byte verwendet wird, wird die Maschine, wie in Figur 5 dargestellt, in Gruppen zu 2 und 3 Bits unterteilt. In Figur 5 verläuft die Unterteilung beim positiven Zustand des AUSWAHL-Signals vom höchstwertigen zum niederwertigsten Bit von S0 mit 3 Überträgen innerhalb und einem Übertrag in das Byte hinein. Der erste interne Übertrag, beispielsweise Cin(0,1), ist der Übertrag der von den Summenbits s2 bis s4 in die Summenbits s0 und sl erzeugt wird.
- Der Übertrag in das Byte ist Cin (5,7) von den Summenbits s8 und s9 in die Summenbits s5 bis s7. Es sollte beachtet werden, daß das Übertragseingangsbit Cin in den Addierer immer bereitgestellt wird, um das niederwertigste Byte oder Halbbyte des 34- Bit-Ergebnisses zu erzeugen, egal ob AUSWAHL= y oder y' ist. Jetzt kann unter Verwendung der unterteilten Gruppen, des Übertrags in das Byte und der Gleichung (3) die Parität P0 für das Summenbyte S0 durch die folgende Gleichung bestimmt werden:
- (B.24) PO = (yT1 + y'H8) V (yHO + y'T9) V
- (yH1' (G(2,9) + T(2,9)Cin) + y'H9'Cin) V H2 V T4 V H5 V
- (G3 + T3G4') V (H4' + H3) (G(5,9) + T(5,9)Cin) V (G6 t T6G7') V
- (T7' + G7'H6') (G(8,9) + T(8,9)Cin) + T7(G (8,9) + T(8,9) Cin)')
- Die Ableitung dieser Gleichung ist im Anhang B dargestellt. Genauso kann dieselbe Substitution mit den Gleichungen von Anhang C verwendet werden. Siehe zum Beispiel P0 gemäß Gleichung C.21. Unter Verwendung desselben Verfahrens können die Paritätsbits P1, P2 und P3 der verbleibenden Bytes abgeleitet werden.
- Bei Verwendung von Halbbyteüberträgen anstatt der Byteüberträge zur Paritätsvorhersage, kann der Addierer in Gruppen zu 4 und 2 Bits eingeteilt werden, wie dies in Figur 6 dargestellt ist. Im Anhang D führt die gleichartige Ableitung wie die von B.24 zu:
- (D.4) P0 = (yT1 + y'H8) V (yH0 + y'T9) V
- (yH1'Cin(0,1) + y'H9'Cin(8,9)) V H2 V
- T3 V T4 V T5 V
- (H3G4 + H3'H4G5) V H6 V T7 V
- (H5'Cin(2,5) + H3'H4Cin(2,5)) V
- H7' CIN (6,7)
- In Anhang E sind die anderen Gleichungen dargestellt, die auf diese Weise abgeleitet werden können. Die Überträge können auch in der gleichen Weise substituiert werden, wie es mit Blickpunkt auf den letzten Abschnitt gezeigt wurde. Durch dasselbe Verfahren kann die Parität für die verbleibenden Bytes abgeleitet werden.
- Für die Paritätsvorhersage einer 34-Bit-Addition mit Auswahl können verschiedene Gleichungen abgeleitet werden, wie in Anhang C und in Anhang E dargestellt und diese Gleichungen können ähnlich impleinentiert werden. Zur Demonstration der Impleinentierung dieser Gleichungen und zum Vergleich mit der Paritätsvorhersage für einen 32-Bit-Addierer ist Gleichung B.24 ausgewählt worden.
- (B.24) P0 = (yT1 + y'H8) V (yH0 + y'T9) V
- (yH1' (G(2,9) + T(2,9)Cin) + y'H9'Cin) V
- H2 V T4 V H5 V
- (G3 + T3G4') V (H4' + H3) (G(5,9) + T(5,9)Cin) V (G6 + T6G7') V
- (T7' + G7'H6') (G(8,9) + T(8,9)Cin) + T7'(G(8,9) + T(8,9)Cin)')
- Es wird angenommen, daß sowohl die eigentlichen als auch die komplementären Addierereingangssignale sowie die durch den Addierer 34 erzeugten Parallelüberträge in das Byte oder das Halbbyte die Eingangssignale der Paritätsvorhersageschaltung bilden. Im allgemeinen müssen sie bis zur letzten Ebene der Paritätsvorhersage nicht verwendet werden. Somit werden für P0 die Übertragstere vorausgesagt, wie dies in den Gleichungen (4) und (5) dargestellt ist.
- Cin = 1
- (4) P0 = H2 V T4 V (G3 + T3G4') V (H4' + H3)
- (G(5,9) + T(5,9)) V
- H5 V (G6 + T6G7') V
- (T7' + G7'H6') (G(8,9) + T(8,9) + T7 (G(8,9) + T(8,9))') V
- (yT1 + y'H8) V (yH0 + y'T9) V
- (yH1' (G(2,9) + T(2,9) + y' HH9')
- Cin = 0
- (5) P0 = H2 V T4 V (G3 + T3G4') V (H4' + H3)
- G(5, 9) V
- H5 V (G6 T T6G7') V
- (T7' + GW'H6')G(8,9) + TWG(8,9)') V
- (yT1 + y'H8) V (yH0 + y'T9) V
- yH1'G (2,9)
- Die Gleichungen 4 und S erfordern 6 logische Ebenen für deren tatsächliche Implementierung in CMOS-Technologie. Die Details bezüglich der verwendeten logischen Felder, der zugehörigen Verzögerungen und der auf jeder Ebene berechneten Terine sind in Anhang F zu finden. Anhang F enthält ebenfalls die Terme, die auf jeder Ebene einer 32-Bit-Addierer-Paritätsvorhersage berechnet werden können, welche von Langdon und Tang abgeleitet wurde. Die Paritätsvorhersage für den 32-Bit-Addierer benötigt 6 logische Ebenen und führt zu einer schlechtes ten Verzögerung von 16,9 ns und benötigt 1000 Zellen, wogegen das Verfahren der Paritätsvorhersage für einen 34-Bit-Addierer zu einer maximalen Verzögerung von 17,9 ns führt und ungefähr 1100 Zellen benötigt. Es ist bekannt, daß ein in derselben Technologie impleinentierter 34-Bit-Addierer eine maximale Verzögerung von 18,1 ns bei 2700 Zellen besitzt.
- Aus Anhang F werden für den Fachmann verschiedene Schlußfolgerungen ersichtlich. Erstens, die Paritätsvorhersage ist nicht von der Parität der Eingangssignale abhängig, aber vollständig vom Summanden (A), vom Summanden (B), von der Übertragsweitergabe (T), von der Übertragserzeugung (G), von der Halbsumme (H) und von den Überträgen selbst. Gleichung (3), welche die Parität bildet, enthält drei Paritäts-"Teilabschnitte", zwei, die von der Auswahl des tatsächlichen Ergebnisses abhängen und einen, der von der Auswahl unabhängig ist. Die letztendliche Formulierung, die aus bei Auswahl der Gruppierung der Addlerereingangssignale abgeleitet wird, führt zu einem Ausdruck, der eine minimale Anzahl an Antivaleuzen und der diesen zugeordneten Logik enthält, was keine unakzeptable Verzögerung bewirkt, wie durch Anhang F bewiesen wird. Der Paritätspfad ist für die Additionsfunktion kein kritischer Pfad, er wird jedoch durch einen zusätzlich Hardwareaufwand realisiert. Der Aufwanci für die benötigte Hardware für die Paritätserzeugung eines 34-Bit-Addierers mit Auswahl des letztendlichen Ergebnisses liegt in derselben Größenordnung wie bei der Paritätsvorhersage eines 32-Bit-Addierers. Außerdem ist die Anzahl der in die Paritätsvorhersage einbezogenen logischen Ebenen für 32-Bit-Addierer und für 34-Bit- Addierer mit Ergebnisauswahl dieselbe, wenn auch eine kleine Differenz bei der tatsächlichen Verzögerungszeit (aufgrund variierender Vorhersageverzögerungen) besteht.
- In Anhang G wird aus Gleichung (1) ein Satz Terine entwickelt, welcher die Ausführungsform der Erfindung in der vorliegenden Struktur, die in den Figuren 7 bis 16 dargestellt ist, ermöglicht. Figur W zeigt in detaillierterer Form die Paritätsvorhersageschaltung 54 von Figur 3, wie sie durch die Gleichungen von Anhang G definiert wird. In Figur 7 sind als Eingangssignale der Paritätsvorhersageschaltung 54 das AUSWAHL-Signal sowie die Operanden A und B dargestellt. Die Schaltung von Figur W spezifiziert im Detail, wie das erste Paritätsbit P0 gemäß der Gleichungen von Anhang G abgeleitet wird. Es ist verständlich, das für die Paritätsbits P1, P2 und P3 in einem ungeraden Paritätsregime entsprechende Schaltungen aus den das Bit P0 betreffenden Lehren leicht abgeleitet werden können.
- Die Paritätsvorhersageschaltung von Figur W wird in den Figuren 8 bis 16 detaillierter dargestellt, worin Inverter durch N, UND- Gatter durch A, ODER-Gatter durch O und XOR-Gatter durch X gekennzeichnet sind. In der Paritätsvorhersageschaltung gibt es drei Halbsummengeneratoren 70 bis 72 zur Erzeugung der Halbsuminenbits Hi, dei- Übertragserzeugungsbits Gi und der Übertragsweitergabebits Ti in Abhängigkeit von den Operandenbits Ai und Bi. Diese Schaltunoen sind Du Figur 8 detailliert dargestellt, welche die koinbinatorischen Schaltungen zeigt, die den in Anhang A definierten Festlegungen für Hi, Gi und Ti entsprechen. Zusätzlich empfangen die Schaltungen 75 bis 77 für Zwischenterine spezifische Übertragserzeugungs- und Übertragsweitergabeterme von den entsprecheiiden Schaltungen 71 und 72, in Abhängigkeit jener sie dann Gruppenübertragserzeugungs- und Weitergabesignale erzeugen. Die Schaltung für die Gruppenübertragserzeugung 75 wird als G(i,i+1) verallgemeinert, deren Äguivalent in Figur 8 als konventionelle Anordnung eines ODER-Gatters (O) und zweier UND- Gatter (A) dargestellt ist. Eine Schaltung 76 zur Bildung eines Signals zur Gruppenübertragserzeugung G(i,i+n) ist in Figur W durch die Referenznummer 76 gekennzeichnet und in Figur 9 als konventionelle Anordnung von UND- und ODER-Gattern detaillierter dargestellt. In gleicher Weise wird eine Schaltung 77 für die Gruppenübertragsweitergabe T(i,i+n) in Figur W durch die Referenznummer 77 gekennzeichnet und in Figur 9 detaillierter als Anordnung von UND-Gattern konventionell dargestellt.
- Der Term M(C=1), definiert durch die Gleichung (G.5.a), wird in Figur 7 durch den Schaltungsblock 78 repräsentiert und in Figur 10 detaillierter als Anordnung von Invertern (N), UND-Gattern und ODER-Gattern dargestellt, welche konventionell miteinander verbunden sind, um die Gleichung (G.5.a) zu implementieren. Ein Schaltungsblock 80 entspricht in Figur W dem Term M(C=0), der durch Gleichung (G.7.a) definiert wird. Dieser Schaltungsblock wird detaillierter in Figur 11 dargestellt. Der Fachmann wird erkennen, daß Figur 11 eine Kombination von Invertern, UND-Gattern und eines ODER-Gatters zeigt, die konventionell miteinander verbunden Gleichung (G.7.a) impleinentieren.
- Schließlich wird noch ein Zwischenterm K durch den Schaltungsblock 82 erzeugt, welcher detaillierter in Figur 12 dargestellt ist. Die kombinatorische Logikschaltung von Figur 12 enthält Inverter, UND-Gatter und ein ODER-Gatter, welche die Struktur der Gleichung (G.3.a) verkörpern.
- Wie man in Anhang G und besonders mit Bezug auf Gleichung (G.10) erkennt, kann jedes Paritätsbyte als koinbinatorische Schaltung implementiert werden, die zwei parallele Zweige besitzt, wobei jeder Zweig einem entsprechenden Zustand des Übertragseingangsbits in das entsprechende Summenbyte zugeordnet ist. Entsprechende Gleichungen können unter Verwendung der Methodik von Anbang C für die Paritätsbytes P1, P2 und P3 abgeleitet werden. Wie deutlich wird, ist das Übertragseingangsbit für die Gleichung für Bit P3 das Übertragseingangsbit Ein, das durch die Übertragsauswahlschaltung 35 von Figur 2 erzeugt wird.
- Die Terme Pa0, Pb0, Pc0 und Pd0, die in der (G.10) verwendet werden, werden durch die Schaltungselemente 90, 91, 92 beziehungsweise 93 erzeugt. Die Schaltungsblöcke 91 beziehungsweise 92 zum Erzeugen von Pa0 und Pc0 werden detaillierter in Figur 13 dargestellt. In Figur 13 verkörpert die Schaltung 90 Gleichung (G.9.a), während Schaltung 92 eine Realisierung von Gleichung (G.9.c) repräsentiert. Die Schaltungselemente 91 und 93 zum Erzeugen von Pb0 beziehungsweise Pd0 werden detaillierter in den Figuren 14 beziehungsweise 15 dargestellt. Die Schaltung zum Erzeugen von Pb0, welche in Figur 14 dargestellt ist, ist eine Verkörperung von Gleichung (G.9.b), während die Schaltung zum Erzeugen von Pb0, welche in Figur 15 detailliert dargestellt ist, eine Implementierung von Gleichung (G.9.d) ist. Wie in den Figuren 13 bis 15 gezeigt wird, werden die Terine Pa0, Pb0, Pc0 und Pd0 in komplementärer Form bereitgestellt, was ebenfalls an den ± Ausgängen der Schaltungsblöcke 90, 91, 92 und 93 von Figur 7 zu erkennen ist. Wie die Untersuchung von Gleichung (G.10) beweist, werden diese komplementären Ausgangssignale für die Erzeugung des ungeraden Paritätsbits P0 für das Summenbyte S0 benötigt. Dieses Bit wird in dein Schaltungselement 95 von Figur 7 erzeugt, welches detaillierter in Figur 16 dargestellt ist. Figur 16 ist eine Widergabe von Gleichung (G.10) als koinbinatorischer Logikplan und zeigt, daß komplementäre Ausgangssignale +P0 und -P0 beueitgestellt werden.
- (G.10) P0 = (Pa V Pb) Cin9 + (Pc V Pd)Cin9'
- Pa'PbCin9 + PaPb'Cin9 + Pc'PdCin9'+ PcPd'Cin9'
- Mit Bezug auf Figur 7 und die Methodik von Anhang G wird ersichtlich, daß durch Impleinentierung von Gleichung (G.12) die Erfindung so ausgeführt werden kann, daß die geiade Parität über den ausgewählten Summenbytes bestimmt wird.
- (G.12) T Pe = P0 (C=1)'Cin9 + P0(C=0)'Cin9'
- =(Pa V Pb)'Cin9 + (Pc + Pd)'Cin9'
- =Pa'Pb'Cin9 + PaPbCin9 + Pc'Pd'Cin9' + PcPdCin9'
- Somit müssen die folgenden Größen berechnet werden, um die gerade oder ungerade Parität für Byte 0 voraussagen zu können.
- ±Pa, ±Pb, ±Pc, ±Pd
- Um die Komplemente (-Pa, -Pb, -Pc, -Pd) zu berechnen, ist es ausreichend, eine ungerade Anzahl Terme, die in den Ausdrücken durch eine Antivalenz verknüpft sind, zu negieren. Für Pa und Pc fällt die Wahl auf H2 oder H5 und für Pb und Pd auf
- (T3'T4' + T4G3 + T3H4)' = T4T3' + T3T4 + G3'G4
- Nach demselben Verfahren kann die ungerade oder gerade Parität für die Summenbytes 1, 2 und 3 abgeleitet werden.
- Für die Implementierung der Gleichungen G.10 und G.11 in einer speziellen Technologie können zur Erzeugung der vorausgesagten Paritätssignale die folgenden Algorithinen verwendet werden:
- Schritt 1. Erzeugen aller In den Ausdrücken von Schritt 2 vorkommenden Terme, so wie sie benötigt werden, nämlich ±xj, ±Yj, ±Zj.
- Schritt 2. Erzeuge:
- Xa, Ya, ±Za
- ±Xb, Yb, Zb
- Xc, ±Yc, Zc
- ±Xd, Yd, Zd
- Schritt 3. Erzeuge:
- ±Pa, ±Pb, ±Pc, ±Pd
- Schritt 4. Erzeuge:
- P0 oder Pe
- Wenn in einer Technologie derartige Felder verfügbar sind oder auch die in den Figuren 17 bis 20 gezeigten, dann kann gefolgert werden, daß jeder Schritt ein einzelne logische Ebene benötigt und die Paritätsvorhersage mit vier logischen Ebenen berechnet werden kann.
- Die Methodik von Anhang G kann auch in einer vier stufigen Ungerade-Parität-Vorhersageschaltung unter Verwendung von UND-INVER- TER (AI - and-invert) Gattern, die die UND-Funktion mit logischer Verbindung (dot-AND) enthalten, implementiert werden. Die maximal benötigte Gatteranordnung ist ein 6fach-AI und ein maximal 7faches UND-Gatter-Anordnung mit logischer Verbindung. Diese Ausführungsform ist in den Figuren 17 bis 20 schematisch dargestellt.
- In den Figuren 17 bis 20 repräsentiert jedes Quadrat ein konventionelles AI-Gatter. Jedes AI-Gatter hat mindestens zwei Eingänge, die durch horizontale Linien dargestellt werden, welche auf die linke vertikale Seite auftreffen sowie einen einzelnen Ausgang, der von der rechten vertikalen Seite abgeht. Wenn die Ausgänge von zwei oder mehr AI-Gattern mit einem gemeinsamen Knoten verbunden werden, repräsentiert der gemeinsame Knoten die konventionelle UND-Funktion mit logischer Verbindung. Die Eingangssignale jedes in den Figuren dargestellten Gatters entsprechen entweder Termen, die in den Gleichungen von Anhang G zu finden sind oder den Ausgangssignalen von AI-Gattern, die sich in der vorhergehenden Ebene befinden. Die Schaltungsebenen wachsen von Figur 17 bis Figur 20. Folglich repräsentiert Figur 17 alle Gatter, die benötigt werden, um die erste Ebene zu implementieren und Figur 20 zeigt alle Gatter, die für die vierte Schaltungsebene erforderlich sind.
- Wir nehmen an, eine direkte Implementierung der Paritätsvorhersage, welche nicht nach der vorliegenden Erfindung arbeitet, erzeugt die Parität sowohl für die niederwertigsten als auch für die höchstwertigen 32 Bits des Addierers. Es wird dann eine umfangreiche Hardware benötigt (speziell Hardware für die Auswahl von y und y') . Dies könnte zu einer unzulässigen Verzögerung führen, weil die Parität für beide Zustände, Auswahl y und Auswahl y', erzeugt werden muß, bevor die Auswahl der letztendlichen Paritätsbits erfolgt und somit eine zusätzliche Verzögerungsstufe bezüglich der Paritätsvorhersage für einen 32-Bit- Addierer hinzukommt.
- Die vorliegende Erfindung gruppiert die Terme in solcher Weise, daß die Parität der auswahlunabhängigen Bits, P(m+2,m+7) nur einmal erzeugt wird, anstatt die Parität entsprechend Gleichung (1) zu erzeugen, was bedeuten würde, daß P(m,m+7) und P(n,n+7) erzeugt werden muß. Folglich wird die Hardwareeffektivität verbessert.
- Allgemein werden bei der Realisierung der Erfindung sowohl P0(C=1) und P0(C=0) erzeugt und dann P0. Die Erfindung unterteilt jeden dieser Pfade weiter; und zwar so, daß ±Pa und ±Pb für P(C=1) und ±Pc und ±Pd für P(C=0) erzeugt werden. Die direkte Auswirkung auf die Paritätsvorhersageschaltung besteht darin, daß die Anzahl der in einem einzelnen Pfad verwendeten Antivalenzen wesentlich verringert wird, ohne daß die Ausdrücke verändert werden, die miteinander antivalent zu verknüpfen sind. Das bedeutet, daß die oben erwähnten Größen schneller berechnet werden können. Die letztendliche Parität kann mit einem 3 x 4 UND-ODER (AO - and or) Feld gleichwertig berechnet werden, anstatt eines 2 x 2 AO unter der Voraussetzung daß beide Ausdrücke in einer einzelnen Stufe berechnet werden. Obwohl es stimmt, daß für die Terme -Pa, -Pb, -Pe und -Pb von Gleichung (G.10) eine zusätzliche Hardware erforderlich ist, ist dieser Aufwand gerechtfertigt, weil +Pa, +Pb, +Pc und +Pd schneller ei-zeugt werden können als P(C=1) und P(C=0), was zu einer Einsparung an logischen Ebenen führt, vorausgesetzt ein 3 x 4 AO oder ein äquivalenter Ausdruck kann in einer logischen Ebene berechnet werden. Die Ausdrücke, die antivalent miteinander verknüpft werden sollen, können ohne unzulässige Verzögerung erzeugt werden. Die schlechtesten Verhältnisse bedingen bei Verfügbarkeit von einem 6 x 5 und einem 4 x 6 AO-Feld oder einer äquivalenten Struktur zwei Verzögerungsstufen.
- Aus dieser Beschreibung kann die Schlußfolgerung gezogen werden, daß unter der Voraussetzung, daß eine Technologie 6fache-AI und 7fache UND mit logischer Verbindung gewährleistet, die Paritätsvorhersage für einen 34-Bit-Addierer mit Auswahl des letztendlichen Ergebnisses innerhalb von 4 logischen Ebenen realisiert werden kann.
- Es ist offensichtlich, daß die beschrieben Erfindung auf verschieden Weise abgeändert werden kann. Zum Beispiel muß die Gruppierung der Bits nicht 2, 3, 3 sein, sondern kann auch 3, 3, 2 usw. sein, ohne daß dies als Abweichung vom Gebiet der Erfindung betrachtet werden kann. Wenn auch die beschrieben Auswahl 32 Bits aus einem 34-Bit-Addiererergebnis betrifft, kann die Erfindung auf die Auswahl einer beliebigen Anzahl von Ergebnisbits eines Addierers, der ebenfalls eine beliebige Anzahl Bits erzeugt, übertragen werden.
- Bei der Ableitung der Gleichungen für die Paritätsvorhersage werden die folgenden Schreibweisen und Boole'schen Gleichungen verwendet:
- 1. Schreibweisen
- (A.1.1) ' ist die Negation eines Ausdruckes
- (A.1.2) (a + b) ist daä logische ODER von "a" und "b"
- (A.1.3) (ab) bedeutet "a" logisch UND "b"
- (A.1.4) V ist die Antivalenz (XOR)
- (A.1.5) Ti ist ein ÜJbertragsweitergabesignal des Bits i
- (A.1.6) Gi ist ein Übertragserzeugungssignal des Bits i
- (A.1.7) Hi ist die Halbsumme von Bit i
- (A.1.8) Tx-y ist das Übertragsweitergabesignal von Bit x auf Bit y
- (A.1.9) Gx-y ist das Übertragserzeugungssignal von Bit auf Bit y
- (A.1.10) Pcx-y ist die Parität der Überträge von Bit auf Bit y
- (A.1.11) Psx-y ist die Parität der Summe von Bit bis Bit y
- (A.1.12) 0 ist das höchstwertige Bit
- (A.1.13) ±Pa bedeutet, daß sowohl Pa als auch Pa' erzeugt werden
- 2. Boole'sche Gleichungen
- (A.2.1) 1 V a = a'
- (A.2.2) a + b = a V b V ab
- (A.2.3) a + a'b = a + b
- (A.2.4) Ti = (ai + bi)
- (A.2.5) Gi = (aibi)
- (A.2.6) Hi = (ai V bi) = TiGi'
- Für die Parität des Bytes S0 gilt i = 0 und:
- (3) P0 = yP (0,1) V P (2,7) V y'P (8,9)
- (B.1) P0 = yP(0,1) V P(2,4) V P(5,7) V y'P(8,9)
- Es ist bekannt, daß die Parität der Addition dem folgenden Gesetz unterliegt.
- (B.2) Ps = Pa V Pb V Pc
- Ps ist die Parität der Summe, Pa beziehungsweise Pb sind die entsprechenden Paritäten der Summanden und Pc ist die Parität der Übertäge. Indem die Vereinbarung übernommen wird, ein Paritätsbit pro Summenbyte zu erzeugen, muß Gleichung (B.2) für das Byte gebildet werden. Um dies zu erreichen wird eine Unterteilung des Bytes vorgenommen und die vorliegende Ableitung basiert auf einer 2-3-3 Gruppierung der BitS, b.b. S0s1, S2S3s4 und s5S6S7.
- Die Parität der acht Bits des Summenbytes S0 wird durch Antivalenzbildung der Bits S0 bis S7 des Wortes berechnet. Bei der oben erwähnten 2-3-3 Gruppierung gilt:
- (B.3) Ps0-7 = Ps0-1 V PS2-4 V Ps5-7
- Jetzt kann die Paritätsgleichung ausgedrückt werden als:
- Ps5-7 = Pa5-7 V Pb5-W V Pc5-7
- PS2-4 = Pa2-4 V Pb2-4 V Pc2-4
- Ps0-1 = Pa0-1 V PbO-l V PcO-l
- Bei einer Gruppe von 3 Bits werden die Überträge berechnet durch:
- Cin = Übertrag in die Gruppe hinein
- Ci = GI + TiCin
- Ci-1 = Gi-l (Ti-1)Gi + (Ti-1)TiCin
- Ci-2 = Übertrag aus der Gruppe heraus
- Somit sind die Überträge in der Gruppe sS bis S7 gleich:
- Cin = dem vorhergehenden Übertrag
- C7 = G7 + T7Cin
- C6 = G6 + T6G7 + T6T7Cin
- C5 = Cout
- Somit gilt:
- Pc5-7 = Cin V C7 V C6
- (B.4) Pc5-7 = Cin V (G7 + T7Cin) V (G6 + T6GW + T6T7Cin)
- Unter Verwendung der Gleichungen A.2.1, A.2.2 und A.2.6 folgt:
- G7 + T7Cin = G7 V T7Cin V G7T7Cin
- G7 + T7Cin G7 + T7Cin (1 V G7)
- (B.5) G7 + T7Cin = G7 V H7Cin
- Nach demselben Verfahren wird der letzte Term von Gleichung B.4 reduziert.
- (B. 6) G6 + T6G7 + T6T7cin = G6 V T6G7 V G6T6G7 V T6TWCin
- V G6T6T7cin V T6T7G7Cin V
- T6T7G6G7Cin
- Es wird vereinbart:
- x = T6G7 V G6T6G7 = T6G7(1 V G6) = T6GWG6' = H6G7
- y = T6T7Cin (1 V G6) = H6T7Cin
- z = T6T7G7Cin (1 V G6) = H6T7G7Cin
- Dann gilt:
- = G6 + T6G7 + T6G7Cin = G6 V x V y V z
- = G6 V H6G7 V H6T7Cin V H6T7G7Ci
- = G6 V H6G7 V H6T7CIn(1 V G7) T
- (B.7) G6 + T6G7 + T6G7Cin = G6 V H6G7 V H6H7Cin
- Das Einsetzen der Gleichungen B.5 und D.7 in Gleichung B.4 führt zu:
- Pc5-7 = Cin V (G7 V H7Cin) V (G6 V H6G7 V H6H7Cin)
- = G6 V G7 V H6G7 V Cin(1 V H7 V H6H7)
- = G6 V G7 V H6G7 V Cin(1 V H7(1 V H6))
- = G6 V G7 V H6G7 V Cin(1 V H7H6') T
- (B.8) Pc5-7 = G6 V G7 V H6G7 V Cin(H7' + H6)
- Und mit gleicher Ableitung zu:
- (B.9) Pc2-4 = G3 V G4 V H3G4 V Cin(H4' + H3)
- Pc0-1 ist eine Zweiergruppe und die Überträge dieser Gruppe sind
- Cin2 = Übertrag hinein
- C1 = G1 + T1Cin2
- C0 = Übertrag heraus
- Im folgenden wird ein vereinfachter Ausdruck für die Parität der Überträge der Gruppe der Bits 0 und 1 abgeleitet.
- Pc0-1 = Cin2 V C1
- = Cin2 V (G1 + T1Cin2)
- = Cin2 V G1 V T1Cin2 V G1T1cin2
- = Cin2 V G1 V T1Cin2(1 V G1)
- =Cin2 V G1 V H1Cin2
- = G1 Vcin2 (1 V H1) T
- (B.10) Pc0-1 = G1 V H1' Cin2
- Die vorausgesagte Parltät der Übertra ge der Gruppen innerhalb des Dytes ist in den folgenden drei Gleichungen zusammengefaßt.
- (B.8) Pc5-7 = G6 V G7 V H6G7 V Cin(H7' + H6)
- (B.9) Pc2-4 = G3 V G4 V H3G4 V Cin(H4' + H3)
- (B.10) Pc0-1 G1 V H1'Cin2
- Unter Verwendung der Gleichungen für die Paritätsvorhersage der Überträge, kann jetzt die Parität der Summengruppen abgeleitet werden.
- Für die Gruppe der Bits 5, 6 und 7 sind Pa und Ph gleich:
- Pa5-7 = A5 V A6 V A7
- PbS-W = B5 V B6 V B7
- Demnach ergibt sich für die Parität der Summenbits 5 bis 7:
- PS5-7 = A5 V A6 V A7 V B5 V B6 V B7 V G6 V G7 V H6G7 V Cin(H7' + H6)
- Da A6 V B6 V G6 = A6 V B6 V A6B6 = A6 + B6 = T6
- wird A7 V B7 V G7 = T7
- und A5 V D5 = E5
- Folglich ergibt sich:
- (B.11) PS5-7 = T6 V T7 V H5 V H6G7 V Cin(H7' + H6)
- Auf dieselbe Art und Weise werden die anderen Gruppenparitäten der Summe abgeleitet. Im folgenden sind die Ergebnisse dargestellt.
- (B.12) PS2-4 = T3 V T4 V H2 V H3G4 V Cin(H4' + H3)
- (B.13) Ps0-1 = T1 V HO V H1'Cin2
- Gleichung (B.11) impliziert folgende Transformation:
- Ps5-7 = T6 V T7 V H5 V H6G7 V Cin(H7' + H6)
- =T6 V T7(Cin + Cin') V H5 V H6G7 V (H7' + H6)Cin
- = T6 V T7Cin W T7Cin' V H5 W H6G7 V (H7' + H6)Cin
- Es gilt aber:
- T7Cin V Cin (H7' + H6) = Cin(T7 V (H7' + H6)
- = Cin(T7(H7' + H6) + T7H7H6')
- = Cin(T7' + T7'H6 + T7H7H6')
- = Cin(T7' + T7H7H6')
- = Cin(T7' + T7T7G7'H6')
- = Cin(T7' + T7G7'H6')
- = Cin(T7' + G7'H6')
- Und folglich:
- PS5-7 = H5 V T6 W H6G7 V T7Cin' V Cin(T7' + G7'H6')
- Und wenn:
- T7Cin' V Cin(T7' + GW'H6') = Cin(T7' + G7'H6') + T7Cin'
- dann folgt:
- Ps5-7 = H5 V T6 V H6G7 V ((T7' + G7'H6')Cin' + T7Cin')
- da aber T6 V H6G7 = G6 + T6G7' folgt:
- (B.14) PS5-7 = H5 V (G6 + T6G7') V ((T7' + G7'H6')Cin' + T7Cin')
- Die Parität der Summe der Bits 5 bis W in Gleichung B.14 enthält nur zwei Antivalenzverknüpfungen, und auf dieselbe Weise kann für die Bits 2 bis 4 ein gleichartiger Ausdruck abgeleitet werden.
- (B.15) Ps2-4 = H2 V (G3 + T3G4') V ((T4' + G4'H3')Cin1' + T4Cin1')
- Die Paritätsgleichnung für die Summe der Bits 0 und 1 wird auf gleiche Weise reduziert.
- Ps0-1 = HO V T1Cin2 V Tlcin2' V H1Cin2
- = HO V T1Cin2 W Tlcin2' V (T1' + G1)Cin2
- = HO V T1Cin2 V Cin2(T1 V (T1' + G1))
- = HO V T1Cin2 V Cin2 (T1 (T1' + G1) + T1(T1G1'))
- = HO V T1Cin2 V Cin2 (T1' + T1G1')
- = HO V T1Cin2 V Cin2 (T1' + G1')
- = H0 V (T1Cin2'(Cin2' + T1G1) + Cin2; (T1' T G1') (T1' + Cin2)
- = H0 V (T1Cin2' + Cin2 (T1' + G1'))
- = (B.16) Ps0-1 = H0 V (T1Cin2' + G1'Cin2
- Somit reduzieren sich die Ausdrücke für die Parität der Gruppensummen im Byte auf die folgenden drei Gleichungen:
- (B.14) Ps5-7 = H5 V (G6 + T6G7') V ( (T7' + G7'H6')Cin' + T7Cin')
- (B.15) Ps2-4 = H2 V (G3 + T3G4' V ( (T4' + G4'H3' )Cin1' + T4Cin1')
- (B.16) Ps0-1 = H0 V (TlCin2' + G1'Cin2)
- Ein anderer Ausdruck für die Parität der Summe eines Dytes kann aus den Gleichungen B.11 bis B.13 abgeleitet werden. Diese Reduktion verwendet nur positive Übertragseingangsterme, was bei manchen Implementierungen der Fall sein kann. Im folgenden wird die Ableitung angegeben.
- (B.11) Ps5-7 = T6 V T7 V H5 V H6G7 V Cin(H7' + H6)
- = T7 V H5 V Cin(H7' + H6) V T6 V T6G6'G7
- = T7 V H5 V Cin(H7' + H6) V T6(1 V G6'G7)
- = T7 V H5 V Cin(H7' + H6) V (G6 V T6G7') T
- (B.17) Ps5-7 = H5 V T7 V (G6 + T6G7') V Cin(H7' + H6)
- Damit ergibt sich:
- (B.18) Ps2-4 = H2 V T4 V (G3 + T3G4') V Cinl(H4' + H3)
- Die Gleichungen für diese, auf eine zweite Weise reduzierten Ausdrücke sind im folgenden zusammengefaßt
- (B.17) Ps5-7 = H5 V T7 V (G6 + T6G7') V Cin(H7' + H6)
- (B.18) PS2-4 = H2 V T4 V (G3 + T3G4') V Cinl(H4' + H3)
- (B.13) Ps0-1 = T1 V H0 W H1'Cin2
- Bisher wurden zwei Gleichungssysteme für die Paritätsbildung von Gruppensummen abgeleitet. Das erste System wird aus den Gleichungen B.14, B.15 und B.16 gebildet, und das zweite Sytem besteht aus den Gleichungen B.17, B.18 und B.13. Der nächste Schritt der Ableitung besteht darin zu zeigen, wie diese Gleichungen- benutzt werden können, um die Parität eines Summenbytes zu bestimmen.
- Indem die Gleichungen B.13 bis B17 Gleichung B.1 eingesetzt werden, können verschiedene Ausdrücke abgeleitet werden, über die die Parität von Byte 0 der Summe erzeugt werden kann. Die Ableitung eines solchen Ausdruckes folgt nun:
- Unter Verwendung von (B.13) ergibt sich:
- P(0,1) = H0 V T1 V H1'Cin(0,1)
- P(8,9) = H8 V T9 V H9' Cin(8, 9)
- und von (B.18)
- P(2,4) = H2 V T4 V (G3 + T3G4') V
- Cin(2,4) (H4' + H3)
- und von (B.14)
- P(5,7) = H5 V (G6 + T6G7') V ((T7' + G7'H6')
- Cin(5,7) + T7Cin(5,7)')
- (B.1) T P0 = y(H0 V T1 V H1'Cin(0,1)) V H2 V T4 V
- (G3 + T3G4')
- V Cin(2,4) (H4' + H3) V H5 W (G6 + T6G7') V
- ((T7' + G7'H6')Cin(5,7) + T7Cin(5,7)') V
- y' (H8 V T9 V H9'Cin(8,9))
- Desweiteren werden die folgenden Gleichungen benutzt:
- yTl V y'H8 - yT1 + y'H8
- yH0 V y'T9 = yH0 + y'T9
- yH1'Cin(0,1) V y'H9'Cin(8,9) = yH1'Cin(0,1) + y'H9'Cin(8,9)
- (B.19) P0 = (yT1 + y'H8) V (yH0 + y'T9) V
- (yH1'Cin(0,1) + y'H9'Cin(8,9)) V H2 V T4 V
- (G3 + T3G4') V Cin(2,4) (H4' + H3) V H5 V
- (G6 + T6G7') V ((T7' + G7'H6')Cin(5,7) + T7Cin(5,7)')
- Die Überträge können in Form von Überträgen in das Byte, Ein, wie
- folgt ausgedrückt werden.
- (B.20) Cin(8,9) = Cin
- (B.21) Cin(5,7) = G(8,9) + T(8,9)Cin
- (B.22) Cin(2,4) = G(5, 9) + T(5,9)Cin
- (B.23) Cin(0,1) = G(2,9) + T(2,9)Cin
- Daraus folgt:
- (B.19) T
- (B.24) P0 = (yT1 + y'H8) V (yH0 + y'T9) V
- (yH1' (G(2,9) + T(2,9;Cin) + y'H9Cin) V
- H2 V T4 V H5 V
- (G3 + T3G4') V (H4' + H3((G(5,9) + T(5,9)Cin) V
- (G6 + T6G7') V
- ((T7' + G7'H6') (G(8,9) + T(8,9)Cin) + T7 (G(8,9) + T(8,9)Cin)')
- Die anderen möglichen Formeln, die abgeleitet werden können, indem die Gleichungen (B.13) bis (B.19) in (B.1) eingesetzt werden, sind in Anhang C zu finden.
- Durch Einsetzen von Gleichung B.13 bis B.18 in Gleichung B.1 können verschiedene Ausdrücke abgeleitet werden, die die Parität des Bytes S0 des Ergebnisses (und mit analogen Substitutionen auch der verbleibenden Bytes) erzeugen. Die Ableitung eines solche Ausdruckes folgt: Verwende Man verwende die Gleichungen: Genauso verwende man die Umformungen: Auf dieselbe Weise können die folgenden Ergebnisse abgeleitet werden: Man vewende die Umformungen:
- Für das Paritätsbyte 0 gilt i = 0 und:
- (3) T P0 = yP(0,1) V P(2,7) V y'P(8,9) T
- (D.1) P0 = yP (0,1) V P (2,5) W p (6,7) V y'P(8,9)
- Durch Einsetzen von B.13 oder B.16 für P(0,1), P(6,7), P(8,9) und durch Verwendung dar folgenden Gleichungen (Langdon and Tang, Seite 12 entnommen) ergibt sich:
- Für die Paritätsvorhersage können verschiedene Gleichungen abgeleitet werden. Zum Beispiel werden unter Verwendung von B.13 und B.15 die folgenden Gleichungen abgeleitet: Daraus folgt:
- Unter Verwendung derselben Gleichungen wie im letzten Abschnitt folgt:
- Durch Einsetzen der Gleichungen B.11, B.12 und B.15 in Gleichung D.1 werden acht Formeln für die Parität des Bytes S0 des Ergebnisses gebildet. Diese Formeln kennen für die Vorhersage der Parität aller Ergebnisbytes angewendet werden.
- Dieser Anhang beschreibt die Implementierung eines existierenden Verfahrens für die Paritätsvorhersage eines 32-Bit-Addierers (1) sowie das Verfahren, das für die Paritätsvorhersage eines 34-Bit- Addierers vorgeschlagen wird. Die gewählte CMOS-Technologie gestattet den Aufbau von logischen Grundfunktionen mit bis zu 9 Eingängen NAND (negiertes UND) (3,9 ns, 6 Zellen), UND (3,8 ns, 6 Zellen), NOR (negiertes Oder) (4,0 ns, 6 Zellen), ODER (4,2 ns, 6 Zellen); sowie von 2 x 8 UND-ODER (4,3 ns, 9 Zellen), 3 x 4 UND- ODER (4,1 ns, 7 Zellen), 2 x 4 ODER-UND (4,0 ns, 5 Zellen), XOR mit zwei Eingängen (2, 6 ns, 3 Zellen) , und zwei Eingänge XOR-negiert (3,3 ns, 3 Zellen). Es sind ebenfalls XOR mit 3 Eingängen (4,7 ns, 5 Zellen) möglich, was eine Paritätsvorhersage mit fünf Verzögerungsstufen gestattet. Diese werden jedoch nicht verwendet, da diese Schaltung eine unzulässige Verzögerung aufweist (eine äquivalente Implementierung unter Verwendung von zwei Ebenen mit XOR-Gattern mit 2 Eingängen isr etwas schneller).
- Das existierende Verfahren für die Paritätsvorhersage eines 32- Bit-Addierers ist in der ausgewählten Technologie implementiert -worden. Unten wird eine Tabelle dargestellt, welche die in jeder Ebene berechneten Terme angibt. Paritätsvorhersage für 32-Dit-Addierer
- Es wird ebenfalls eine Übersicht zu dem vorgeschlagenen Verfahren für die Paritätsvorhersage eines 34-Bit-Addierers angegeben, welche die unteren logischen Ebenen enthält, in denen jeder Term berechnet wird Paritätsvorhersage für einen 34-Bit Addierer
- Bei der Addition von 34 Bits mit Auswahl der 32 höchstwertigen oder niederwertigsten Bits, bei der das letztendliche Ergebnis vorn Befehl abhängig ist, ergibt sich die Parität der 32-Bit-Summe, wie in Gleichung (1) dargestellt zu:
- (1) Pi = yP(m,m+7) + y'P(n,n+7)
- worin i Element N, m = 8i, n = m+2, und
- 0 ≤ i ≤ 3, y bezeichnet die Variable, über die die
- Auswahl durchgeführt wird, Pi ist die Parität der Byteposition i
- und P(a,b) ist die Parität der Summenbits von a bis b.
- und für die ungerade Parität:
- Pi' = (yP(m,m+1)' V y'P(m+8,m+9) V P(m+2,m+7)
- Für Byte 0 gilt i = 0, m = 0 und: (G.1) P0' = (yP(0,1) )' V y'P(8,9) V P(2,7)
- Unter Verwendung der Paritätsvorhersage für zwei Bitgruppen, wie in (A.3) gezeigt und wenn Cini den Übertrag in Bit i bedeutet, erhält man: Daraus folgt: Es wird geschrieben: Es ergibt sich:
- Unter Verwendung der drei-Bit-Paritätsgruppen, wie in B.1B dargestellt, erhält man für P(2,7) folgenden Ausdruck: Da aber gilt: Folgt daraus: Es gilt aber: Daraus folgt: Es gilt aber: Für Cin9 = 1 gilt: Dann ergibt sich: Und für Cin 9 = 0 folgt: Somit ergibt sich die Parltät von Byte 0 zu:
- Es wird ersichtlich, daß Gleichung (G.9) durch ein 2 x 2 UND-ODERFeld (AO) oder ein glelchwertiges logisches Array realisiert werden kann und daß gegenwärtige Technologien Arrays entsprechender oder höherer Funktionalität bereitstellen. Wenn eine Technologie ein 3 x 4 AO oder gleichwertiges Array bereitstellen kann, ist es somit möglich diese Berechnungswege aufzuspalten, weil P0(C=1) und P0(C=0) wie folgt geschrieben werden können: P0(C=1) = Pa0 V Pb0 und: = P0(C=0) = Pc0 V Pd0 worin: dann gilt: Und die gerade Parität von S0 ergibt sich zu:
- Wenn A, B, and C Bool'sche Variablen sind, gilt:
- AC + AB + B'C = AB + B'C ] Somit ergibt sich:
Claims (14)
1. Datenverarbeitungssystem enthaltend einen Addierer (34) zum
Addieren zweier binärer Datenoperanden A und B, wobei die
Operanden digitale Signale umfassen, die die Größe von
Binärzahlen repräsentieren, welche durch die Datenoperanden
dargestellt werden, der Addierer (34) stellt eine Anzahl N
Ergebnisbits bereit, die eine vorgegebene Wertigkeit
besitzen und die das Ergebnis der Addition der binären
Datenoperanden darstellen, wobei das Datenverarbeitungssystem
umfaßt:
Auswahlsignal-Generierungsmittel (40) zum Erzeugen eines
binären Auswahlsigoals, das die Auswahl eines vorgegebenen
Ergebnisbits anzeigt, wobei dieses Signal einen ersten Wert
aufweist, der durcn y angezeigt wird oder es weist einen
komplementären Wert auf, der durch y' angezeigt wird;
Auswahlmittel (3G) zum Auswählen von Bits aus den N
Ergebnisbits, um ausgewählte Ergebnisabschnitte an einem
Ausgangsport bereitzustellen, wobei diese Auswahl in
Abhängigkeit von dem Auswahlsignal erfolgt, die Auswahlmittel (36)
stellen K Bits weniger bereit, als Ergebnisbits vorhanden
sind, wobei K eine ganze Zahl kleiner N ist und sie stellen
als ausgewählten Ergebnisabschnitt, entweder als Antwort
auf y die N - K höchstwertigen Bits der Ergebnisbits oder
als Antwort auf y' die niederwertigsten Bits der
Ergebnisbits bereit; und
Paritätsvorhersagemittel (54) zum Bereitstellen eines
Paritätsbits für jeweils L Bits der ausgewählten
Ergebnisabschnitte, wobei L eine ganze Zahl größer als K und kleiner
als N ist und das Paritätsbit in Abhängigkeit von M Bits
der ausgewählten Ergebnisabschnitte bestimmt wird, wobei M
gleich L + K ist, 0 das höchstwertige Bit der M Bits
repräsentiert und M-1 das niederwertigste Bit der M Bits
repräsentiert
und wobei das Paritätsbit von einer Logikschaltung
erzeugt wird, welche den folgenden Zusammenhang ausführt:
P(0, M-1) = yP(0, K-1) V P(K, M-K-1) V y'P(M-K, M-1)
worin
hintereinander geschriebene Terme die logische
UND-Verknüpfung dieser Terme anzeigen, B repräsentiert die
Antivalenzoperation und P(x, y) repräsentiert die Parltät der Bits
von x bis y.
2. Datenverarbeitungssystem nach Anspruch 1, dadurch
gekennzeichnet, daß L gleich acht und K gleich zwei ist.
3. Datenverarbeitungssystem nach Anspruch 1, dadurch
gekennzeichnet, daß die Auswahlmittel (36) als ausgewählte
Ergebnisabschnitte zwei Bits weniger als das Ergebnis
bereitstellen und daß sie als Antwort auf das Auswahlsignal y die
höchstwertigen Bits des Ergebnisses bereitstellen und daß
sie als Antwort auf das Auswahlsignal y' die
niederwertigsten Bits des Ergebnisses bereltstellen; und
daß die Paritätsvorhersagemittel (54) auf die Operanden und
auf das Auswahlsignal y, y' reagieren, um die Parität des
ausgewählten Ergebnisabschnittes vorauszusagen und
anzuzeigen und um ein Paritätsbit für jeweils acht Bits des
ausgewählten Ergebnisabschnittes bereitzustellen.
4. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß das Paritätsbit für die
höchstwertigen acht Bits des ausgewählten Ergebnisabschnittes
durch logische Gatter bestimmt wird, welche folgende
Gleichung realisieren:
worin gilt:
+ ist die logische ODER-Verknüpfung, hintereinander
geschriebene Terme zeigen die logische UND-Verknüpfung an,
V ist die Antivalenzoperation, und
Cin repräsentiert das Übertragsbit in die höchstwertigen
acht Bits hinein,
T (i) = A(i) + B(i),
G(i) = A(i)B(i)
H(i) = A(i) V B(i)
A(i) ist das i-te Bit des ersten Datenoperanden und B(i)
ist das i-te Bit des zweiten Datenoperanden,
i ist eine ganze Zahl, und
0 ist die höchstwertige Bitpositlon des Ergebnisses und
Bitposition i des Ergebnisses ist niederwertiger als
Bitposition i-1 und höherwertiger als Bitposition i+1.
5. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß das Parltätsbit für die
höchstwertigen acht Bits des ausgewählten Ergebnisabschnittes
durch logische Gatter bestimmt wird, welche folgende
Gleichung realisieren:
worin gilt:
+ ist nie oglsche ODER-Verknüpfung, mit hintereinander
geschriebenen Termen wird die logische UND-Verknüpfung
gebildet,
V ist die Antivalenzoperation und
Cin repräsentiert das Übertragsbit in das Halbbyte,
T(i) = A(i) + B(i),
G(i) = A(i)B(i),
H(i) = A(i) V B(i),
A(i) ist das i-te Bit des ersten Datenoperanden und B(i)
ist das i-te Bit des zweiten Datenoperanden und jedes Bit
eines Operanden besetzt eine Ditposition i, wobei i eine
positive ganze Zahl ist und i ≥ 0 gilt, die Wertigkeit der
Bitpositionen eines Operanden ist den Bitpositionen
entgegengesetzt.
6. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß das Paritätsbit für die
höchstwertigen acht Bits des ausgewählten Ergebnisabschnittes
durch logische Gatter bestimmt wird, welche folgende
Gleichung realisieren:
worin gilt:
+ Ist die Logische ODER-Verknüpfung, mit hintereinander
geschriebenen Termen wird eine logische UND-Verknüpfung
durchgeführt,
V ist die Antivalenzoperation und
Cin repräsentiert das Übertragsbit in das Byte hinein,
T(i) = A(i) + B(i),
G(i) = A(i)B(i),
H(i) = A(i) V B(i),
A(i) ist das i-te Bit des ersten Datenoperanden und B(i)
ist das i-te Bit des zweiten Datenoperanden,
i ist eine ganze Zahl, und
O ist die höchstwertige Bitposition der zehn Bits, aus
denen der Ergebnisabschnitt ausgewählt wird und 9 ist die
niederwertigste Bitposition der zehn Bits, aus denen der
Ergebnisabschnitt ausgewählt wird.
7. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß das Paritätsbit für die
höchstwertigen acht Bits des ausgewählten Ergebnisabschnittes
durch logische Gatter bestimmt wird, welche folgende
Gleichung realisieren:
+ ist die logische ODER-Verknüpfung, mit hintereinander
geschriebenen Termen wird eine logische UND-Verknüpfung
durchgeführt,
V ist die Antivalenzoperation und
Cin repräsentiert das Übertragsbit in das Byte hinein,
T (i) = A(i) + B(i),
G(i) = A(i)B(i),
H (i) = A(i) V B(i),
A(i) Ist das i-te Bit des ersten Datenoperanden und B(i)
ist das i-te Bit des zweiten Datenoperanden,
i ist eine ganze Zahl, und
0 ist die höchstwertige Bitposition der zehn Bits, aus
denen das Ergebnis ausgewählt wird und 9 ist die
niederwertigste Bitposition der zehn Bits, aus denen der
Ergebnisabschnitt ausgewählt wird.
8. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß das Paritätsbit für die
höchstwertigen acht Bits des ausgewählten Ergebnisabschnittes
durch logische Gatter bestimmt wird, welche folgende
Gleichung realisieren:
+ ist die logische ODER-Verknüpfung, mit hintereinander
geschriebenen Termen wird eine logische UND-Verknüpfung
durchgeführt,
V ist die Antivalenzoperatlon und
Cin repräsentiert das Übertragsbit in das Byte hinein,
T(i) = A(i) + B(i),
G(i) = A(i)B(i),
H(i) = A(i) V B(i),
A(i) Ist das i-te Bit des ersten Datenoperanden und B(i)
ist das i-te Bit des zweiten Datenoperanden,
i ist eine ganze Zahl, und
0 ist die höchstwertige Bitposition der zehn Bits, aus
denen der Ergebnisabschnitt ausgewählt wird und 9 ist die
niederwertigste Bitposition der zehn Bits, aus denen der
Ergebnisabschnitt ausgewählt wird.
9. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß das Paritätsbit für die
höchstwertigen acht Bits des ausgewählten Ergebnisabschnittes
durch logische Gatter bestimmt wird, welche folgende
Gleichung realisieren:
+ ist die logische ODER-Verknüpfung, mit hintereinander
geschriebenen Termen wird eine logische UND-Verknüpfung
durchgeführt,
V ist die Antivalenzoperation und
Cin repräsentiert das Übertragsbit in das Byte hinein,
T(i) = A(i) + B(i),
G(i) = A(i)B(i),
H(i) = A(i) V B(i),
A(i) ist das i-te Bit des ersten Datenoperanden und B(i)
ist das i-te Bit des zweiten Datenoperanden,
i
ist eine ganze Zahl, und
0 ist die höchstwertige Bitposition der zehn Bits, aus
denen der Ergebnisabschnitt ausgewählt wird und 9 ist die
niederwertigste Bitposition der zehn Bits, aus denen der
Ergebnisabschnitt ausgewählt wird.
10. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß das Paritätsbit für die
höchstwertigen acht Bits des ausgewählten Ergebnisabschnittes
durch logische Gatter bestimmt wird, welche folgende
Gleichung realisieren:
+ ist die logische ODER-Verknüpfung, mit hintereinander
geschriebenen Termen wird eine logische UND-Verknüpfung
durchgeführt,
V ist die Antivalenzoperation und
Cin repräsentiert das Übertragsbit in das Byte hinein,
T(i) = A(i) + B(i),
G(i) = A(i)B(i),
H(i) = A(i) V B(i),
A(i) ist das i-te Bit des ersten Datenoperanden und B(i)
ist das i-te Bit des zweiten Datenoperanden,
i ist eine ganze Zahl, und
0 ist die höchstwertige Bitposition der zehn Bits, aus
denen der Ergebnisabschnitt ausgewählt wird und 9 ist die
niederwertigste Bitposition der zehn Bits, aus denen der
Ergebnisabschnitt ausgewählt wird.
11. Datenverarbeitungssystem nach Anspruch 10, desweiteren
Gerade-Paritätsmittel zum Berechnen der geraden Parität der
Bytes des ausgewählten Ergebnisabschnittes umfassend, wobei
die Gerade-Paritätsmittel logische Gatter enthalten, die
die folgende Gleichung realisieren:
Pe = Pa'Pb'Cin9 + PaPbCin9 + Pc'Pd'Cin9' + PcPdCin9'
12. Datenverarbeitungssystem nach mindestens einem der
Ansprüche 1 bis 11, dadurch gekennzeichnet, daß das Ergebnis
34 Bits umfaßt und der ausgewählte Ergebnisabschnitt 32
Bits umfaßt.
13. Datenverarbeitungssystem nach Anspruch 1, umfassend:
Auswahlsignalmittel (40) zum Erzeugen eines Auswahlsignals,
das einen ausgewählten Ergebnisabschnitt anzeigt;
Auswahlmittel (36), die mit dem Addiererausgang und den
Auswahlsignalmitteln (40) verbunden sind, um in
Abhängigkeit von dem Auswahlsignal Datenbits des Ergebnisses
auszuwählen und bereitzustellen, wobei der ausgewählte
Ergebnisabschnitt an einem Ausgangsport der Auswahlmittel (36)
bereitgestellt wird und die Auswahlmittel (36) deswelteren
ein Eingangsport besitzen, um das Auswahlsignal zu
empfangen; und
Paritätsvorhersagemittel (54), die auf die Operanden und
auf das Auswahlsignal reagieren, um die Parität des
ausgewählten Ergebnisabschnittes vorauszusagen und anzuzeigen,
wobei die Paritätsvorhersagemittel (54) ein erstes
Eingangsport zum Empfangen der Datenoperanden, ein zweites
Eingangsport zum Empfangen des Auswahlsignals und ein
Ausgangsport zum Bereitstellen eines vorausgesagten
Paritätssignals besitzen.
14. Paritätsvorhersagesystem nach einem der Ansprüche 1 oder
13, deswelteren umfassend:
Paritätsgenerierungsmittel (52), die ein Eingangsport zum
Empfangen des ausgewählten Ergebnisabschnittes vom
Ausgangsport des Auswahlmittels (36) und ein Ausgangsport zum
Bereitstellen eines erzeugten Paritätsausgangssignals
besitzen; und
Paritätvergleichsmittel (56, 58) zum Vergleichen des
erzeugten Paritätsausgangssignals und des vorausgesagten
Paritätsausgangssignals, wobei die Paritätvergleichsmittel
(56, 58) einen Fehlerausgangsanschluß besitzen, um ein
Fehlersignal bereitzustellen, wenn das erzeugte
Paritätsausgangssignal und das vorausgesagte Parltätsausgangssignal
nicht übereinstimmen.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/185,759 US4924424A (en) | 1988-04-25 | 1988-04-25 | Parity prediction for binary adders with selection |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE68921663D1 DE68921663D1 (de) | 1995-04-20 |
| DE68921663T2 true DE68921663T2 (de) | 1995-10-05 |
Family
ID=22682352
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE68921663T Expired - Fee Related DE68921663T2 (de) | 1988-04-25 | 1989-04-04 | Paritätsvorausbestimmung für Binäraddierer mit Auswahl. |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4924424A (de) |
| EP (1) | EP0339305B1 (de) |
| JP (1) | JPH07120291B2 (de) |
| DE (1) | DE68921663T2 (de) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GR920100163A (el) * | 1992-04-21 | 1993-12-30 | Koloni Sofia & Sia E E | Τεχνικές κατασκευές αυτοεπαλη?ευομένων μονάδων εκτέλεσης αρι?μητικών πράξεων & μονάδων επεξεργασίας δεδομένων βασιζόμενες σε κώδικες διπλής γραμμής & κώδικες άρτιας ή περιττής ισοτιμίας. |
| US6332173B2 (en) * | 1998-10-31 | 2001-12-18 | Advanced Micro Devices, Inc. | UART automatic parity support for frames with address bits |
| DE102009051500B4 (de) | 2009-10-30 | 2015-03-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Arithmetik-Logik-Einheit |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2056229A5 (de) * | 1969-07-31 | 1971-05-14 | Ibm | |
| US3911261A (en) * | 1974-09-09 | 1975-10-07 | Ibm | Parity prediction and checking network |
| US3925647A (en) * | 1974-09-30 | 1975-12-09 | Honeywell Inf Systems | Parity predicting and checking logic for carry look-ahead binary adder |
| AT335035B (de) * | 1974-10-10 | 1977-02-25 | Henkel & Cie Gmbh | Stabile suspensionen wasserunloslicher, zum binden von calciumionen befahigter silikate und deren verwendung zur herstellung von wasch- und reinigungsmitteln |
| US4079457A (en) * | 1977-01-03 | 1978-03-14 | Honeywell Information Systems Inc. | Current mode binary/BCD arithmetic logic unit with parity |
| US4224680A (en) * | 1978-06-05 | 1980-09-23 | Fujitsu Limited | Parity prediction circuit for adder/counter |
| DE3671554D1 (de) * | 1985-01-25 | 1990-06-28 | Siemens Ag | Schaltungsanordnung zur funktionsueberwachung eines arithmetische operationen ausfuehrenden rechenwerkes anhand von paritaetsbits. |
| JPS61187038A (ja) * | 1985-02-15 | 1986-08-20 | Agency Of Ind Science & Technol | 加算回路 |
| JPS62219164A (ja) * | 1986-03-20 | 1987-09-26 | Fujitsu Ltd | 高速投影算出回路 |
| DE3771663D1 (de) * | 1986-10-31 | 1991-08-29 | Siemens Ag | Verfahren zur paritaetsbitermittlung und zur ueberwachung der uebertragung beim datenschieben sowie schaltungsanordnung zur durchfuehrung der verfahren. |
-
1988
- 1988-04-25 US US07/185,759 patent/US4924424A/en not_active Expired - Fee Related
-
1989
- 1989-03-31 JP JP1078726A patent/JPH07120291B2/ja not_active Expired - Lifetime
- 1989-04-04 DE DE68921663T patent/DE68921663T2/de not_active Expired - Fee Related
- 1989-04-04 EP EP89105855A patent/EP0339305B1/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0339305B1 (de) | 1995-03-15 |
| JPH01286047A (ja) | 1989-11-17 |
| EP0339305A2 (de) | 1989-11-02 |
| DE68921663D1 (de) | 1995-04-20 |
| EP0339305A3 (de) | 1991-07-03 |
| JPH07120291B2 (ja) | 1995-12-20 |
| US4924424A (en) | 1990-05-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69326314T2 (de) | Durchführung aritmetische Operationen auf Daten | |
| EP0123921B1 (de) | Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf | |
| DE2616717C2 (de) | Digitales Addierwerk | |
| DE3650335T2 (de) | Rechenverfahren und -gerät für endlichfeldmultiplikation. | |
| DE3700991C2 (de) | Digitaler Übertragsvorgriffsaddierer | |
| DE3486211T2 (de) | Kodebestimmung mit einem auf Halbaddierer basierten Operandenvergleicher. | |
| DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
| DE2712224A1 (de) | Datenverarbeitungsanlage | |
| DE1237363B (de) | Arithmetisch-Logische-Einheit | |
| DE68920560T2 (de) | Restprüfungsvorrichtung zur Fehlerkennung in Additions-, Substraktions-, Multiplikations-, Divisions- und Quadratwurzel-Operationen. | |
| DE2626432A1 (de) | Arithmetische einheit fuer automatische rechengeraete | |
| DE1197650B (de) | Parallel-Addierer | |
| DE69132540T2 (de) | Programmierbare logische Schaltung | |
| DE2758130C2 (de) | Binärer und dezimaler Hochgeschwindigkeitsaddierer | |
| DE1474037C3 (de) | Paritätsprüfverfahren und -prüfeinrichtung für datenverarbeitende Maschinen | |
| DE2361512C2 (de) | Schaltungsanordnung zur Prüfung eines Additionsresultates | |
| DE68927488T2 (de) | Binäre Übertragvorgriffsschaltung | |
| DE3852576T2 (de) | Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen. | |
| DE69032391T2 (de) | Mehrere Bit umkodierender Multiplizierer | |
| DE68921663T2 (de) | Paritätsvorausbestimmung für Binäraddierer mit Auswahl. | |
| DE69030169T2 (de) | Hochleistungsaddierer mit Carry-Vorhersage | |
| DE69026414T2 (de) | Binäres Addiergerät | |
| DE1187403B (de) | Verfahren und Einrichtung zur logischen Verknuepfung zweier Operanden | |
| EP0257362A1 (de) | Addierer | |
| DE3854284T2 (de) | Paralleladdierer mit entfernten Abhängigkeiten. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |