DE2063565A1 - Verfahren und Vorrichtung zur Um Wandlung von einem Code m aus n auftre tenden Eingangssignalen in normale binar codierte Signale - Google Patents

Verfahren und Vorrichtung zur Um Wandlung von einem Code m aus n auftre tenden Eingangssignalen in normale binar codierte Signale

Info

Publication number
DE2063565A1
DE2063565A1 DE19702063565 DE2063565A DE2063565A1 DE 2063565 A1 DE2063565 A1 DE 2063565A1 DE 19702063565 DE19702063565 DE 19702063565 DE 2063565 A DE2063565 A DE 2063565A DE 2063565 A1 DE2063565 A1 DE 2063565A1
Authority
DE
Germany
Prior art keywords
register
binary
signal
code
signals
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.)
Granted
Application number
DE19702063565
Other languages
English (en)
Other versions
DE2063565C3 (de
DE2063565B2 (de
Inventor
Philip Charles Geneva 111 Richards (V St A ) H03f
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
Western Electric Co Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of DE2063565A1 publication Critical patent/DE2063565A1/de
Publication of DE2063565B2 publication Critical patent/DE2063565B2/de
Application granted granted Critical
Publication of DE2063565C3 publication Critical patent/DE2063565C3/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
    • H03M13/51Constant weight codes; n-out-of-m codes; Berger codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

D-8 Mönchen 26, Po tfach 4
Telefoa 0811/29 25 55
23, Dez. 1970
Mein Zeichen: P 1098
Anmelder: Western Electric Company, Inc.
195 Broadway, New York, N.Y, 10007,
V. St. A.
Verfahren und Vorrichtung zur Umwandlung von in einem Code m aus η auftretenden EingangsSignalen in normale " binär codierte Signale
Die Erfindung bezieht sich auf ein maschinelles Verfahren und auf eine Vorrichtung zur Umsetzung speziell codierter Eingangssignale, unter Heranziehung von Permutationen einer fegten Anzahl von Binärzeichen n1M und einer festen Anzahl τβη Binärzeichen n0H in gewöhnliche binärcodierte Signale. Das Verfahren gemäss der Erfindung umfasst dabei die Verfahrensschritte der Speicherung der speziell codierten Eingangssignale in einem ersten Maschinenregister und die Speicherung einer bestimmten Konstante in einem zweiten Maichinenregiater.
109827/U51
In einer modernen industriellen Gesellschaft müssen grosse Mengen an digitaler Information über lange Strecken übertragen werden. Die betreffenden Informationen werden dabei an fernliegenden Stellen für arithmetische oder verknüpfungsmässige Verarbeitungsvorgänge benutzt. Obwohl das herkömmliche binäre Zahlensystem sieh als sehr wertvoll im Einblick auf digitale Verarbeitungsfunktionen erwiesen hat, ist dieses Zahlensystem jedoch nicht in idealer Weise für Übertragungszwecke geeignet. Aufgrund der Schwierigkeit, Fehler festzustellen, die während der Übertragung des herkömmlichen Binärcodes auftreten, sind modifizierte Binärcodes entwickelt worden, die die Fehlerermittlung stark vereinfachen. Ein der-P artiger Code ist der m-aus-n-Code, bei dem eine feste Anzahl m aus einer Gesamtzahl η von binären Bitpositionen stets # durch ein Binärzeichen "1" gebildet ist, während die jeweils übrigen (n-m) Bitpositionen jeweils ein Binärzeichen "O" führen. Die Information wird dabei durch Permutationen der Bitpositinen m, also der Binärzeichen H1M in dem jeweiligen, η-Bit umfassenden Wort codiert. Einer der getoäuehlichsten m-aus-n-öodes ist der 2-aua-6-Code. In diesem Fall sind zwei Bitpositionen von sechs möglichen Bitpositionen jeweils durch ein Binärzeichen "1W gebildet, während die jeweils übrigen vier Bitpositionen jeweils durch ein Binärzeiehen 11O" gebildet sind.
Aufgrund der Eegeln, nach denen m-aus-n-Oodes erzeugt werden, sind Fehler, die Bits veranlassen, den entgegengesetzten Zustand von dem eigentlichen Zustand anzunehmen, stets feststellbar. Eine Ausnahme hiervon stellt jedoch der Umstand dar, dass derartige Fehler komplementäre Änderungen in Bitpaaren hervorrufen. Es ist mithin relativ einfach, festzustellen, ob empfangene Codewörter fehlerhaft sind oder nicht.
Obwohl m-aus-n-Codes für Fehlerfeststell - und Fehlerkorrekturfunktionen brauchbar sind, eignen sich derartige Codes jedoch
109827/U51
nicht "besonders gut in digitalen Rechenvorgängen. Die meisten digitalen Verarbeitungseinrichtungen sind daher so ausgelegt, dass sie numerische Informationen im normalen Binärzahlensystem verarbeiten. Demgemäss musa der für eine zuverlässige Informationsübertragung benutzte m-aus-n-Code vor der Verarbeitung in den gewöhnlichen Binärcode umgesetzt werden.
Bei den bekannten Lösungen dieses Problems erfolgen ein Tabellenlesen, ein mehrstufiges Verschieben und Verarbeitungsvorgänge. Diese Lösungen erfordern jedoch eine komplizierte Einrichtung und eine unwirtschaftliche Programmierung. Die Zeitspanne, die zum Aufsuchen einer Datenmenge für eine Codeumsetzung odr für eine mehrstufige Verschiebungs-Verarbeitungsumsetzung erforderlich ist, umfasst häufig mehrere Maschinenzyklen. Dies wiederum führt zu einer Verminderung des Wirkungsgrades, der sich aus der Verwendung des m-aus-n-Codes für die fehlerkontrol-Ie ergibt. Darüber hinaus umfassen die das Lesen der Datenmenge betreffenden Vorgänge und die mehrstufigen Verschiebeverfahren eine komplizierte und teuere Rechnereinrichtung, was zu einer unwirtschaftlichen Umsetzung von m-aus-n-Codes in gewöhnliche Binärcodes führt. Das damit bestehende Problem besteht darin, den Wirkungsgrad bzw. die Leistungsfähigkeit einer Codeumsetzung von einem m-aus-n-Code in den gewöhnlichen Binärcode zu steigern.
Gelöst wird das vorstehend aufgezeigte Problem bzw. die damit bezeichnete Aufgabe durch das Verfahren gemäss der Erfindung dadurch, dass sämtliche Bitpositionen, die in dem ersten Maschinenregister ein Binärzeiehen W1n enthalten, bestimmt werden, dass die binäre Verschiebung der Jeweils ein Binärzeiehen "1" enthaltenden jeweiligen Bitposition in dem ersten Maschinenregister von der Bitposition niedrigster Wertigkeit bestimmt wird, dass der Inhalt des zweiten Maschinenregisters um eine Grosse verschoben wird, die gleich der Verschiebung
109827/US1
- tr -
der in dem ersten Maschinenregister am weitesten links stehenden, ein Binärzeichen H1W enthaltenden Bitposition· von der Bitposition niedrigster Wertigkeit entspricht, und dass die binäre Verschiebung der in dem ersten Maschinenregister vorgesehenen, ein Binärzeichen 1M" enthaltenden jeweiligen Bitposition von der Bitposition niedrigster Wertigkeit und ■der verschobene Inhalt des zweiten Maschinenregisters addiert werden./
Durch die Erfindung kommt man mit einem minimalem Schaltungsaufwand und mit einer minimalen Zeitspanne aus, um grosse " Mengen an für eine Pehlerkontrolle entsprechend codierten Eingabedaten für eine maschinelle Verarbeitung in binär codierte Daten umzusetzen.
Anhand von Zeichnungen wird die Erfindung nachstehend näher erläutert.
Pig. 1 zeigt schematisch in einem Blockdiagramm einen
mit einem gespeicherten Programm arbeitenden digitalen Rechner, der zur Ausführung des Umsetzsystems gemäss der Erfindung geeignet ist, welches einen programmierten Allzweckrechner verwendet.
Pig. 2 zeigt zum Verständnis der im folgenden näher beschriebenen und in Pig. 1 und 3 dargestellten Anordnungen in einem Diagramm den Inhalt eines Registers von in den Piguren 1 und 3 dargestellten Registern.
Pig. 3 zeigt in einem detaillierten Blockdiagramm eine digitale Spezialzweck-Schaltung, die für eine weitere Ausführung des Umsetzsystems gemäss der Erfindung geeignet ist.
Die Erfindung bringt Vorteile von gewissen systematischen
Eigenschaften jedes Bits der m-aus-n-Codes mit sich. Die
109827/US1
Bestimmung der Bitpositionen der Binärzeichen H1W in einem m-aus-n-Gode umfasst eine einfache lineare RechenbeZiehung zu dem äquivalenten Binärcode. Der äquivalente Binärcode wird dadurch erhalten, dass die m-Bitpoaitionen, die jeweils ein Binärzeichen n1n in dem m-aua-n-Code führen, mit einer Konstanten summiert werden, die um einen Betrag verschoben ist, der gleich der Grosse der Bitpositionen der am weitesten links stehenden Binärzeichen "I" in dem m-aus-n-Codewort ist. Die Vorrichtung und das Verfahren gemäss der Erfindung sind mit besonderem Vorteil in Fällen anwendbar, in denen innerhalb sehr kurzer Zeitspannen eine grosse Anzahl derartiger Umsetzungen auszuführen ist.
Das in Pig. 1 dargestellte Blockdiagramm zeigt eine programmgesteuerte Verarbeitungseinrichtung, die für die Verwendung in einem elektronischen Fernsprechvermittlungssystem geeignet ist. Die Verarbeitungseinrichtung gemäss Mg. 1 enthält einen Programmspeicher 300 und einen Kurzzeitspeieher 201. In der programmgesteuerten Verärbeitungaeinrichtung gemäss Fig. 1 sind zwei Flip-Flop-Register enthalten, die den Verbindungen mit dem Programmspeicher 300 zugehörig sind. Bei diesen Registern handelt es sieh um daa 18-Bit-PA-Regiater 304 und um daa 22-Bit-PSB-Register 306. Der Inhalt des PA-Registers 304 legt die Speicherstelle fest, zu der ein Zugriff erfolgen soll; das PSB-Register 306 speicherte Befehlsworte oder Daten, die von dem Programmspeicher erhalten werden, oder Daten, die in den Speicher einzuschreiben sind. Das PA-Register 304 ist mit dem Programmspeicher 300 über ein Kabel 307 verbunden. Daa PSB-Regiater 306 ist mit dem Programmapeicher 300 über ein Kabel 326 verbunden.
Aus dem Programmapeicher werden Befehlaworte normalerweiae nacheinander auegelesen. Demgemäas wird der Inhalt des PA-Hegiaters 304 normalerweiae vor dem Auslesen dee nächsten Befehle um eine "1* erhöht. Diea erfolgt unter der Steuerung der PA-Logik 305. Gelegentlich ist es erforderlich, die Folge-
109827/HS1
kette zu unterbrechen und eine Übertragung zu einer nicht in der folge liegenden Adresse vorzunehmen. Zu diesem Zweck umfasst der Befehlsvorrat eine Vielzahl von Übertragungsbefehlen, die eine Übertragungsadreaae veranlassen, in das PA-Register 304 eingeführt zu werden. Die Übertragungsadresse kann von verschiedenen Quellen innerhalb der programmgesteuerten Verarbeitungseinrichtung gemäss Pig. 1 erhalten werden.
Die minimale Zeitspanne zwischen aufeinanderfolgendem Auslesen des Programmspeichers 300 ist dureh die Sehaltungs-
ψ konstanten festgelegt. Es ist wünschenswert, dass diese Gesamtzeit für die Ausführung der Befehle zur Verfügung steht, die aus dem Speicher ausgelesen sind. Aus diesem Gkrand ist das PO-Register 501 zusätzlich zu dem PSB-Register 306 vorgesehen. Zu einem bestimmten Zeitpunkt innerhalb des G-rundmaschinenzyklus wird der Inhalt des PSB-Registera 306 in das PO-Register 501 zur Decodierung eingeführt. Danach wird der Inhalt des PA-Registers 304 um "1M erhöht, und die neu erzeugte Speicheradresse wird in den Programmspeicher übertragen, wodurch der in der Folge nächste Befehl erzielt ist. In dem Fall, dass der Befehl in dem PO-Register 501 ein Übertragungsbefehl ist, muss die Übertragungsadresse
^ anstatt die nächste Folge-Adresse dazu herangezogen werden, den nächsten Befehl aus dem Programmspeicher 300 zu erhaLten. Wenn die nächste Folge-Adresse bereits gelesen worden ist, jedoch eine Übertragung auszuführen ist, wird der Inhalt des PSB-Registers 306 gelöscht.
Ein in dem PO-Register 501 enthaltener Befehl wird mittels des Befehlsumwerters 502 deeodiert. Dieser Befehlsumwerter 502 erzeugt für den in dem PO-Register 501 jeweils enthaltenem Befehl eindeutige Ausgangssignale. Die Ausgangssignale des Befehlsumwerters 502 steuern die Gatterwirkungen und Verknüpfungsoperationen, die in der programmgeateuerten Verarbeitungseinriehtung gemäss Fig. 1 stattfinden.
109827/ US 1
Wie·in Pig. 1 dargestellt, enthält die programmgesteuerte Verarbeitungseinrichtung eine Vielzahl von Flip-Flop-Registern. Im allgemeinen kanu der Inhalt irgendeines Registers zu irgendeinem anderen Register in der Verarbeitungseinrichtung hingeführt werden. Diese Informationsübertragung erfolgt über eine Programmleitungs-Sammelschiene 202. Um über die Programmleitungs-Sammelschiene 202 Daten von einem Register zu einem anderen Register zu übertragen, werden ein an das Ausgangs-Register angeschlossenes Ausgangs-G-atter und ein an das Ziel-Register angeschlossenes Eingangs-G-atter aktiviert.
Viele Register der Verarbeitungseinrichtung werden hauptsächlich für spezielle Funktionen benutzt; sie sind jedoch nicht auf eine derartige Anwendung beschränkt. So werden zum Beispiel das AA-Register 302, das CA-Register 303 und das G-R-Register 203 hauptsächlich für die Verbindung mit dem Kurz-.Zeitspeicher 201 benutzt. Über die Programmleitungs-Sammelschiene 202 kann dabei eine 15-Bit-Adresse entweder von dem AA-Register 302 oder dem CA-Register 303 zu dem OSA-Register 142 hin übertragen werden. In den Kurzzeitspeicher 201 einzuschreibende Daten können von dem G-R-Register 203 oder von irgendwelchen anderen Registern über die Programmleitungs-Sammelschiene 202 dem CSI-Register 141 zugeleitet werden.
Der Kurzzeitspeicher 201 ist ein mit dem Auslesen seine Information verlierender Speicher. Irgendein Speicherplatz, der durch die Verarbeitungseinrichtung ausgelesen wird, muss wieder regeneriert werden, um die Daten für anschliessende Leseoperationen bereit zu halten. Der Kurzzeitspeicher 201 enthält keine Flip-Flop-Register für die Speicherung der Daten, die für die Regeneration festzuhalten sind. Vielmehr werden die aus dem Speicher ausgelesenen Daten in das GR-Register 203 eingeführt, und die Regenerierungsdaten werden aus dem OSI-Regiater 141 erhalten. Zwischen dem Auslesen
109827/U51
und der Regnerierung steht eine ausreichende Zeitspanne zur Verfügung, innerhalb der die gelesenen Daten von dem CR-Register 203 zu dem CSI-Register 141 hingeleitet werden können.
Das LR-Regiater 204, das IF-Register 205, das LM-Register .und das LW-Register 207 werden in Verbindung mit Befehlen verwendet, die eine Vielzahl von Verknüpfungsoperationen durchführen. Die Verknüpfurigsfunktionssehaltung 220 wird von diesen Befehlen benutzt. Im allgemeinen werden der Inhalt des GR-Registers 203 und des LR-Registers 204 ^ entsprechend der Verknüpfungsfunktion zusammengefasst, die durch den Inhalt des LF-Registers 205 bezeichnet ist. Der Inhalt des IiM-Registers 206 wird in der Verknüpfungsfunktions· Schaltung 220 dazu herangezogen, selektiv bestimmte Bits abzudecken bzw. auszublenden, so dass die Verknüpfungsfunktion lediglich auf diejenigen Bits der Eingabe-Worte hin ausgeführt wird, für die in dem LM-Register 206 eine M1W vorhanden ist. Für alle Bits, für die in dem IM-Register 206 eine M0" vorhanden ist, wird eine M0" erzeugt. Das durch die Verknüpfungsfunktionsschaltung 220 schliesslich erzeugte Datenwort wird über die Programmleitungs-Sammelschiene 202 dem Jlf-Register 207 zugeleitet.
* Wenn der Wftnsch besteht, dass diejenigen Bits, auf die hin eine Verinüpfungsfunktion ausgeführt worden ist, in das GR-Register 203 zurückzuführen sind, wobei jedoch sämtliche übrigen Bits des GR-Registers 203 nicht zu zerstören sind, so wird die Einfügungs-Abdeekschaltung 208 verwendet. Diese selektive Einfügung in das GR-Register wird durch gewöhnliche Ansteuerung der M1"-Seite des jeweiligen Bits des LW-Registers 207 in das GR-Register 203 über die Programmleitungs-Sammelschiene 202 bewirkt. Gleichseitig wird der Inhalt des DJ-Registers 206 mit der nOM-Seite des jeweiligen Bits des LW-Registers 207 zusammengefasst, und das Ergebnis wird der
10982 7/ US 1
HLösch"-Seite des jeweiligen Bits des GR-Regiaters 203 zugeleitet. Ala Ergebnis dieser Massnahmen wird eine "1" in daa jeweilige Bit des GR-Regiaters 203 eingeschrieben, für die eine H1H in dem LW-Regiater 207 vorhanden war. Eine M0" wird hingegen in das jeweilige Bit des GR-Registera eingeschrieben, für die eine 1M" in dem LM-Regiater 206 und eine "0n in dem LW-Register 207 enthalten war. Es sei daran erinnert, dass eine "1" nur in jenen Bitstellen des LW-Registera 207 auftreten kann, für die eine n-1w in dem LM-Register 206 enthalten war. Demgemäss wird eine Änderung lediglich bei jenen Bits des GR-Registers 203 vorgenommen, für die eine "1M in dem LM-Register 206 vorhanden ist.
Die Summenumwälzschaltung 301 ist eine Verknüpfungsschaltung, die für verschiedene Zwecke verwendet wird. Diese Schaltung 301 kann dazu herangezogen werden, den Inhalt des GR-Registers 203 um einen festgelegten Betrag umzuwälzen, und zwar dadurch, dass der Inhalt des GR-Registers 203 über die Programmleitunga-Sammelschiene zu der Summenumwälzschaltung 301 hingeleitet wird, und dass das umgewälzte Ergebnis zu dem GR-Regiater 203 zurück geleitet wird. Die Summenumwälzschaltung 301 wird ferner dazu herangezogen, den Inhalt dea GR-Registers 203 und des AA-Registers 302 zu addieren. Daa Ergebnis wird dann in das AA-Register 302 eingeführt.
In der nachstehend aufgeführten Tabelle I ist eine Folge von programmierten Befehlen für die Ausführung der vorliegenden Erfindung angegeben, welche in dem Programmapeieher gemäss Flg. 1 gespeichert werden können.
109827/UB1
TABEILE I
Umsetz-AND
G)ZiMSG
ZAA
FIZT
TCNS
AAXIR
FIZT
TONS
CJZfMS
TCNS
AAXRF
IGR
RGI0
ADD
IRXGR
ADD
■Unterprogramm
(Zeile) 77 3
5 6
ERR0R 7
8 5 9
ERRjZiR
ERRj2fR
/jZf/30000
10
11
12
13
14 15
16
17 18 Abdeckung sämtlicher Bits mit Ausnahme der 6 Bits niederer Ordnung in GR 203 Komplementinhalt von GR 203 lösche das AA-Register
Speicher die Grosse der ersten "0"-Speicherstelle (11) in dem AA-Register und setze ein Prüfkennzeichen Gehe auf "Fehler" über?wenn Prüfkennzeichen nicht gesetzt ist Speicher 11 ' in dem IR-Register Speicher die Grosse der zweiten "O"-Speicherstelle (12) in dem AA-Register und setze Prüf-Kennzeichen Gehe auf"Fehler" über, wenn das Prüf-Kennzeichen nicht gesetzt ist Komplementbildung von GR2O3, setze Prüfkennzeichen, wenn GR203 sämtlich »1"-Zeichen enthält
Übertrage, wenn Prüf-Kennzeichen nicht gesetzt ist
lade 12 in RF-Register lade die Konstante in GR2O3 Wälze den Inhalt von GR2O3 nach links um/oen Inhalt des RF-Registers ■ Addiere die verschobene Konstante in GR 203 zum Inhalt des AA-Registers (12) Führe 11 vom IR-Register zu GR203 Addiere 11 in GR203 zur Summe der verschobenen Kons kanten und 12 im AA-Register
1 09827/ UBt
AAXGR 17 19
AHD TTSA 20
RETUEN ZGR 21
ERR0R TR RETURN 22
END 23
24
(Zeile)
Führe daa Ergebnis vom AA-Register zu GR203 hin
Decke sämtliche Bits mit Ausnahme der unteren vier Bits ia GR203 ab Kehre zum Anforderungsprogramm zurück Lösche GR 203 und ■
Gehe auf "Rückkehr" über
Die vorstehende Programmliste kann wie folgt gedeutet werdeni
Der Befehl in der Zeile 3 bewirkt die Abdeckung bzw. Ausblendung sämtlicher Bits mit Ausnahme der sechs Bits niederer Ordnung (am weitesten rechts) in dem GR-Register 203.
Der Befehl in der Zeile 4 bewirkt die Komplementierung des Inhalts des GR-Registers 203. Dies ermöglicht eine Suche nach Binärzeichen "0" anstatt nach Binärzeichen M1M in dem 2-aus-6-Code.
Der Befehl in Zeile 5 bewirkt die Löschung des Inhalts des AA-Registers 302.
Der Befehl in Zeile 6 nimmt von rechts nach links laufend die ersten sechs Bitpositionen in dem GR-Register 203 für die erste "0" ein. Die Stelle dieser ersten w0M, die als die Grosse ML1H bezeichnet werden kann, wird in das AA-Register 302 eingeführt. Gleichzeitig wird in einem Flip-Flop des Übertragungs-Puffers 400 ein Prüfkennzeichen gesetzt.
Der Befehl in Zeile 7 dient zur Überprüfung, ob dieses Kennzeichen gesetzt ist; ist daa Kennzeichen nicht gesetzt, so erfolgt der Übergang zu der Stelle "Fehler" in Zeile 22.
1 0 9 8 2 7 / U 5 1
Diese Übertragung zeigt an, dass keine "1" in dem ursprünglichen 2-aus-6-Code vorhanden war und dass demgemäss ein Fehler aufgetreten ist. Wenn das Kennzeichen gesetzt worden ist, wird der Befehl-in Zeile 8 ausgeführt, wobei der Wert der Grosse L1 aus dem AA-legister 502 in das LR-Register 204 übertragen wird. Damit wird dieser Wert für eine zukünftige Verwendung aufbewahrt.
In Zeile 9 bestimmt der Befehl"FLZT" die zweite "O" von rechts in dem GR-Register 203 und damit natürlich entsprechend die zweite "1M des 2-aus-6-Codes. Der Wert "L2" dieser Bitposition wird in dem AA-Register 302 gespeichert, und das Prüfkennzeichen wird gesetzt. In der Zeile 10 wird das Kennzeichen geprüft, um festzustellen, ob diefzweite "1W in dem ursprünglichen 2-aus-6-Code vorhanden war. Ist die zweite "1" in dem betreffenden Code nicht vorhanden, so erfolgt ein Übergang zu der Stelle "Fehler11 in der Zeile
Gemäss Zeile 11 wird der Inhalt des GR-Registers 203 komplementiert, und das Prüfkennzeichen wird gesetzt, wenn sämtliche "1"-Zeichen in dem GR-Register 203 vor der Komplementierung vorhanden waren. Wenn das ursprüngliche Codewort in fehlerhafter Weise mehr als zwei "1"-Zeichen aufwies, bleibt in dem GR-Register 203 bei der Ausführung des Befehls gemäss Zeile 11 eine "0" zurück. Dieser Zustand wird durch die Ausführung des Befehls in Zeile 12 ermittelt, und es erfolgt ein Übergang auf. die "Fehler"-Stelle in Zeile 22.
An dieser Stelle dürfte ersichtlich sein, dass in dem LR-Register 204 eine Zahl enthalten ist, die der Grosse L1 entspricht, nämlich der Lage der am weitesten rechts stehenden "1" in dem 2-aus-6-Code. Das AA-Register 302 enthält seinerseits den Wert der Grosse L2, nämlich die Lage der zweiten am weitesten rechts stehenden "1" in dem ursprünglichen 2-aus-6-Code. Diese Grossen werden, wie im folgenden
10 9 8 2 7/1451
2083565
noch, näher beschrieben werden wird, dazu herangezogen, das binäre Äquivalent des 2-aua-6-0odes zu berechnen. Die nachstehend angegebene Tabelle II dürfte im Hinblick auf das Verständnis der Rechenoperationen von Nutzen sein, die zur Berechnung der binären Äquivalente erforderlich sind. In der Tabelle II sind dabei Tasten angegeben, die bestimmte 2-aus-6-0odes erzeugen, ferner die entsprechenden Werte der Grossen L1 und 12, der Wert der nachstehend noch näher zu beschreibenden Grosse "02" und das binäre Äquivalent (Summe). Die Anwendung dieser Werte wird nachstehend näher erläutert.
Tabelle II Il 12 Binär (Dezimal) Sunu
0000(0) 0001(1) 02 0001(1)
Taste (2J-Code 0000(0) 0010(2) 0000(0) 0010(2)
1 000011 0001(1) 0010(2) 0000(0) 0011(3)
2 000101 0000(0) 0011(3) 0000(0) 0100(4)
3 000110 0001(1) 0011(3) 0001(1) 0101(5)
4 001001 0010(2) 0011(3) 0001(1) . 0110(6)
5 001010 0000(0) 0100(4) 0001(1) 0111(7)
6 001100 0001(1) 0100(4) 0011(3) 1000(8)
7 010001 0010(2) 0100(4) 0011(3) 1001(9)
8 010010 0011(3) 0100(4) 0011(3) 1010(10)
9 010100 0000(0) 0101(5) 0011(3) 1011(11)
O 011000 0001(1) 01o1(5) 0110(6) 1100(12)
ST3P 100001 0010(2) 0101(5) 0110(6) 1101(13)
STP 100010 0011(3) 0101(5) 0110(6) 1110(14)
KP 100100 0100(4) 0101(5) 0110(6) 1111(15)
ST2P 101000 0110(6)
ST 110000
Zeile 13 in Tabelle I wird der Werb der Gröaoe 12 aus dem JÜL-Regiater 302 zu der Summenumwälzsehalfcuiig 301 hin geleitet. Gemäse Zeile 14 wird ein konatanber Wert; ö in tlaa GR-Eegiater 203 geladen* Dieser konstante Werfe bzw,
10 9 8 2 7/1451
-U-
diese Konstante ist eine binäre "3", die um zwei Bitpositionen von dem äussersten linken Ende des GR-Registers 203 verschoben ist. Dies geht aus Mg, 2 hervor, in der das Kästchen 203 den Inhalt des GR-Registers 203 veranschaulicht. Der Befehl gemäss Zeile 15 bewirkt, dass der Inhalt dea GR-Registers durch den Inhalt der Summenumwälzschaltung 301 nach liitks läuft. Es sei ,daran erinnert, dass dieser Wert L2 ist, das heisst die lage der zweiten "1" in dem 2-aus-6-Code bezeichnet,
Der resultierende Inhalt des GR-Registers 203 ist in der am weitesten links stehenden Spalte in Mg. 2 aufgeführt. Dabei besitzt L2 die Werte, die in der am weitesten rechts stehenden Spalte in Mg. 2 bezeichnet sind. Es dürfte ersichtlich sein, dass die am weitesten rechts stehenden vier Bitpositionen des GR-Registers' 203 die binäre Darstellung eines Wertes G2 enthalten, welcher den "Ausgangswert. 11O" darstellt, der durch den Wert der Grösee L2 verschoben wird. Der nunmehr in dem GR-Register 203 auftretende Wert der Grosse 02 wird zu.dem Wert der Grosse 12 hinzuaddiert, die zuvor in dem AA-Register 302 abgespeichert ist. Dies wird durch den Befehl gemäss Zeile 16 der Tabelle I ausgeführt.
Gemäss Zeile 17 der Tabelle I wird der Wert der Grosse L1 in dem IR-Register 204 zu dem GR-Register 203 hin verschoben, und gemäss Zeile 18 wird dieser Wert zu der Summe der Grosse G2 und 12 in dem AA-Register 302 hinzuaddiert.
Aus der am weitesten rechts stehenden Spalte der Tabelle Il dürfte ersichtlich sein, dass diese nunmehr in dem AA-Register 302 befindliche Summe das binäre Äquivalent dea ursprünglichen 2-aus-6-Coaes darstellt, Gemäss Zeile 19 wird dieses binäre Äquivalent aus dem AA-Regiater 302 herausgeführt und in daa GR-Register 203 eingeführt. Gemäsa Zeile 20 werden sämtliche Bits mit Ausnahme tier vier Bits niederer Ordnung in dem GR-
109827/U61
Register 203 abgedeckt bzw. ausgeblendet, Gemäss Zeile 21 erfolgt eine Rückkehr zu der anfordernden Stelle des Hauptprogramms .
Die "Fehler"-Stelle gemäss Zeile 22 löscht den Inhalt des GR-Registers 203, und gemäss Zeile 23 bewirkt sie die Ausführung eines Übergangs zu dem Befehl gemäss Zeile 21. Damit erfolgt eine Rückkehr zu dem anfordernden Programm, wobei das GR-Register 203 vollständig leer ist. Dies zeigt an, dass in dem umzusetzenden bzw. zu konvertierenden ursprünglichen Code ein Fehler gefunden worden ist.
In !ig. 3 ist eine erfindungsgemässe Schaltungsanordnung zur Ausführung des vorstehend betrachteten neuen Verfahrens angegeben, und zwar im Hinblick auf einen programmierten Allzweckrechner. Gemäss Fig. 3 werden die den 2-aus-6-Code darstellenden Signale über ein Gatter 100 einem sechsstelligen Schieberegister 101 zugeführt. Über eine Eingangsklemme 102 und ein Sperrgatter 103 werden Taktimpulse zugeführt, durch die die binären Signale in dem Schieberegister 101 vorverschoben werden. Die Ausgangssignale des Schieberegisters 101 werden über eine Verzögerungsschaltung 104 einem Gatter 105 und über eine Impulsteilerschaltung 106 und eine Verzögerungsschaltung 107 einem Gatter 108 zugeführt. Die aus dem Schieberegister 101 herausgeschobenen Binärzeichen ^1W steuern somit über die Verzögerungsschaltung 104 das Gatter 105. Da die Impulsteilerschaltung 106 die ihr zugeführten Impulse um den Paktor 2 untersetzt, tritt jeder zweite Impuls der vom Ausgang des Schieberegisters 101 abgegebenen Impulse über die Verzögerungsleitung 107 an dem Gatter 108 auf.
Die an der Klemme 102 auftretenden Taktimpulse werden ferner der Impulsteilerschaltung 109 zugeführt, die auf jeweils
1 0 9 8 2 7 / H 5 1
sieben ihr zugeftilirte E in gangs impulse hin einen Ausgangs-, impuls abgibt. Die Ausgangsimpulse der Impulateilerachaltung 109 werden dem Sperrgatter 103 zugeführt, und zwar zur Sperrung der Übertragung jedes siebten Taktimpulses, der der Klemme 102 zugeführt wird. Dieser siebte Taktimpuls bildet die Untersetzung zwischen aufeinanderfolgenden ,Zyklen der Gesamtschaltung gemäss Fig. 3. Demgemäss wird dieser siebte Taktimpuls von der Impulsteilerschaltung dazu benutzt, das Gatter 100 freizugeben, um eine neue 2-aua-6-Binärcodegruppe zu dem Schieberegister 101 zu übertragen. Der siebte Taktimpula wird ferner über eine Leitung 110 einer Voreinstellungs-Zählerschaltung 111 und einem Schieberegister 112 zugeführt.
Der Zähler 111 ist ein vierstelliger Binärzähler, der auf der Leitung 113 auftretende Taktimpulse zählt. Zu Beginn jedes Zyklus werden durch den siebten Taktimpuls auf der Leitung 110 sämtliche Stufen des Zählers 111 in den n1"-Zustand eingestellt bzw. gesetzt. Der nächste auf der Leitung 113 auftretende Taktimpuls bewirkt somit, dass sämtliche Zählerstufen des Zählers 111 in,, den "0"-Zustand gelangen, und anschllessend werden .die Taktimpulse in üblicher Weise gezählt. Ff,
Der auf der Leitung 110 auftretende siebte Taktimpuls setzt ferner die ersten beiden Stufen des achtstufigen Schieberegisters 112 in den "1-"Zustand. Über die Leitung bewirkt der siebte Taktimpuls das Setzen der letzten sechs Stellen bzw. Stufen des Schieberegisters 112 in den "0"-Zustand. Danach wird durch die auf der Leitung 113 auftretenden Taktimpulse das Bitmuster "00000011" mit jedem Taktimpuls um eine Stelle (nach links) verschoben. Durch eine Addierer-Akkumulator-Schaltung 115 werden die auf der Leitung 116 auftretenden binären Eingangssignale zn
1 0 9 8 2 7 / U 5 1
dem Inhalt eines zu dieser Schaltung gehörenden Akkumulator-Registers hinzuaddiert, und die gebildete Summe wird in dem Akkumulatorregiater abgespeichert. Der siebte Taktimpuls wird über die Terzögerungsschaltung 117 zugeführt, um dieses Akkumulatorregister zu löschen. Der siebte Taktimpuls wird ferner dazu herangezogen, das Ausgangsgatter 118 zu betätigen und damit den Inhalt des Akkumulatorregisters in die Ausgangsschaltungen einzuführen.
Die in Fig. 3 dargestellte Schaltung arbeitet wie folgt. Ein vollständig geprüfter 2-aus-6-0ode wird durch Signale dargestellt, die dem Eingangsgatter 100 zugeführt werden. Diese Signale werden durch das Eingangsgatter 100 während jedes siebten Taktimpulses in das Schieberegister 101 eingeführt. Gleichzeitig werden der Zähler 111 und das Schieberegister 112 in die oben erwähnten Zustände voreingestellt. Die zuvor gebildeten Ergebnisse werden aus der Addierer-Akkumulator-Schaltung 115 über das Satter 118 herausgeführt, und nach Ablauf der Verzögerungszeit der Verzögerungsschaltung 117» währenddessen das Ausgangssignal herausgeführt werden kann, ist die Addierer-Akkumulator-Schaltung 115 gelöscht. Die nachfolgenden, an der Klemme 102 und dem Sperrgatter 103 wirkenden Taktimpulse bewirken eine Verschiebung de« 2-aua-6-Bitmuaters in dem Schieberegister nach rechte. Gleichzeitig wird der Zähler 111 fortgeschaltet, und ausaerdem wird das Bitmuster in dem Schieberegister weitergeschoben.
Ee dürfte ersichtlich sein, das» die Inhalte des Schieberegisters 101, des Zählers 111 und des Schiebeiqgisters aynchron durch dieselben Taktimpulae verschoben werden. Wenn somit der erste TakHmpuls von dem Schieberegister 101 auftritt, hat der Zähler 111 eine dem binären Äquivalent der Bitpooitlon de« eriten Blnärzelehene *1W aus dem Schiuberegiater 101 CLt) entsprechende Zähleratellung Glngenomni'm, Haeh einer kurzen Verzögerungazelfc durch di8 Verzögerung« lohaltung 114 kann »ich die Zählerschaltung bzw. der Zähler
10 9 8 2 7/1451
-IQ
einstellen. Das binäre Äquivalent wird dabei über das Gatter 105 der Addierer-Akkumulator-Schaltung 115 zugeführt, in der die M0H in dem gelöschten Akkumulator-Register zu diesem binären Äquivalent hinzuaddiert wird. Daa Ergebnis, das binäre Äquivalent L1 selbst, wird dann in dem Akkumulator-Register gespeichert.
Wenn die Taktimpulse weiterhin dem Schiebe-Register 101 zugeführt werden, wird das zweite Binärzeichen "1" des Binärmusters in entsprechender Weise über die Verzögerungsleitung-104 zugeführt, um das binäre Äquivalent dieser zweiten Bit-'" position (12) aus dem Zähler 111 über das Gatter 105 in die Addierer-Akkumulator-Schaltung 115 einzuführen. Dieses binäre Äquivalent 12 der zweiten Bitposition wird dann zu dem bereits gespeicherten binären Äquivalent 11 der ersten Position hinzuaddiert, und die Summe (11 + L2") wird in dem Akkumulator-Register der Addierer-Akkumulator-Schaltung 115 gespeichert.
Der von dem Schieberegister 101 abgegebene zweite Ausgangsimpuls bewirkt ferner, dass die Teilerschaltung 106 einen Impuls abgibt, der über die Verzögerungsschaltung 107 dem Gatter 108 zugeführt wird. Die Verzögerungsschaltung 107 bewirkt eine etwas längere Verzögerung als die Verzögerungsschaltung 104. Auf diese Weise wird dem Gatter 108 ermöglicht, nach dem Gatter 105 zu arbeiten. Auf diese Weise ist eine gegenseitige Störung dieser Gatter vermieden. Das in den vier höherwertigen Bitpositionen des Schieberegisters 112 auftretende Bitmuster wird somit der Addierer-Akkumulator-Schaltung 115 zugeführt und damit zu der dort bereits vorhandenen Summe hinzuaddiert. Der durch dieses Bitmuster charakterisierte Zahlenwert und das Bitmuster selbst sind dabei dem in Zusammenhang mit Fig. Γ beschriebenen Bitmuster identisch und mit 02 bezeichnet, sowie in der fünften Spalte der fabeile II aufgeführt. Diea bedeutet, rlaoa dann, wenn daa zweite auftretende Bit in dem 2-aus~6-Gode
10 9827/ 1 A 5 1
an der zweiten oder dritten Bitposition ist (das heisst L2 ■ 1,2), der numerische Wert (02) 0 ist. Wenn das zweite Bit des 2-aus-6-Codes an der vierten, fünften oder sechsten Bitposition (L2 = 3,4 oder 5) auftritt, ist der numerische Wert 02 in dem Schieberegister 112 gleich 1,3 oder 6. Wie im Zusammenhang mit Tabelle II bemerkt, ist die Summe der beiden Bitpositionen L1 und L2, die durch den Zähler 111 zugeführt wird, zusammen mit dem verschobenen Inhalt 02 in dem Schieberegister 112 gleich dem binären Äquivalent des gesamten 2~aus-6-0odes. Die Binärzahl in der Addierer-Akkumulator-Schaltung 115 wird während jedes siebten Taktimpulses über das Gatter 118 herausgeführt.
Es dürfte ersichtlich sein, dass die Schaltungsanordnung gemäss Pig. 3 die Ausführung des gleichen Verfahrens bewirkt, wie es durch das in Verbindung mit Fig. 1 beschriebene Rechnerprogramm ausgeführt wird.
109827/U51

Claims (3)

  1. Patentansprüche
    1„ Verfahren zur Umwandlung von in einem Code m aus η auftretenden Eingangssignalen in normale binär codierte Signale, dadurch gekennzeichnet,
    a) daß dem Abstand der in dem jeweiligen η Signalelemente umfassenden Eingangssignal auftretenden m Signalelemente von einem Bezugspunkt entsprechende Binärsignale erzeugt werden,
    b) daß ein zusätzliches Binärsignal unter Heranziehung eines konstanten Binärsignals erzeugt wird, das inner-
    fr halb dieses zusätzlichen Binärsignales eine dem Wert
    des Abstands des einen Signalelements der m Signalelemente von dem Bezugspunkt entsprechende Lage besitzt, und
    c) daß die so gewonnenen Binärsignale unter Bildung des dem in dem Code m aus η auftretenden Eingangssignal entsprechenden binär codierten Signals addiert werden.
  2. 2. Vorrichtung zur Durchführung des Verfahrens nach
    Anspruch 1, mit einem Eingangsgatter und einem ersten Schieberegister zur Aufnahme und Speicherung der Eingangssignale und mit einem zweiten Schieberegister zur ψ Speicherung des konstanten Binärsignals, dadurch gekennzeichnet, daß eine Zählschaltung vorgesehen ist, die der Lage jedes Binärzeichens "1" in dem ersten Schieberegister von der Bitpofeition niedrigster Wertigkeit entsprechende Binärsignale bildet, daß eine Verschiebeschaltung vorgesehen ist, die das gespeicherte konstante Binärsignal um einen Wert zu verschieben erlaubt, der der Lage des in dem ersten Schieberegister am weitesten links stehenden Binärzeichen "1" von der Bitposition niedrigster Wertigkeit aus entspricht, und daß eine
    109827/U51
    binäre Addierschaltung vorgesehen ist, welche den Inhalt des ersten Schieberegisters und das verschobene konstante Binärsignal summiert,
  3. 3. Vorrichtung nach Anspruch 2» dadurch gekennzeichnet, daß das konstante Binärsignal dem Wert der Dezimalziffer 3 entspricht.
    !Q9827/U51
    L e e r 5 e 11 e
DE2063565A 1969-12-23 1970-12-23 Verfahren und Vorrichtung zur Umwandlung von in einem Code m aus n auftretenden Eingangssignalen in normale binär codierte Eingangssignale Expired DE2063565C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US88760669A 1969-12-23 1969-12-23

Publications (3)

Publication Number Publication Date
DE2063565A1 true DE2063565A1 (de) 1971-07-01
DE2063565B2 DE2063565B2 (de) 1978-08-17
DE2063565C3 DE2063565C3 (de) 1979-04-19

Family

ID=25391501

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2063565A Expired DE2063565C3 (de) 1969-12-23 1970-12-23 Verfahren und Vorrichtung zur Umwandlung von in einem Code m aus n auftretenden Eingangssignalen in normale binär codierte Eingangssignale

Country Status (9)

Country Link
US (1) US3680081A (de)
JP (1) JPS527704B1 (de)
BE (1) BE760628A (de)
CA (1) CA933282A (de)
DE (1) DE2063565C3 (de)
FR (1) FR2072026B1 (de)
GB (1) GB1340078A (de)
NL (1) NL7018422A (de)
SE (1) SE365370B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4030093A (en) * 1972-08-16 1977-06-14 Szamitastechnikai Koordinacios Intezet Reversible code compander

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3248726A (en) * 1962-05-24 1966-04-26 Rca Corp Non-linear analog to digital converter
US3518660A (en) * 1962-11-29 1970-06-30 B R Corp Encoder
US3291910A (en) * 1962-11-29 1966-12-13 Bunker Ramo Encoder
US3349230A (en) * 1963-12-24 1967-10-24 Bell Telephone Laboratoreies I Trigonometric function generator
GB1131328A (en) * 1967-07-28 1968-10-23 Int Standard Electric Corp Decoding circuit

Also Published As

Publication number Publication date
FR2072026B1 (de) 1974-02-15
CA933282A (en) 1973-09-04
GB1340078A (en) 1973-12-05
JPS527704B1 (de) 1977-03-03
DE2063565C3 (de) 1979-04-19
US3680081A (en) 1972-07-25
SE365370B (de) 1974-03-18
NL7018422A (de) 1971-06-25
BE760628A (fr) 1971-05-27
FR2072026A1 (de) 1971-09-24
DE2063565B2 (de) 1978-08-17

Similar Documents

Publication Publication Date Title
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2364408C3 (de) Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers
DE1303416B (de)
DE2751097A1 (de) Triggerschaltungseinheit
DE1901228A1 (de) Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers
DE2555963A1 (de) Einrichtung zur funktionsmodifizierung
DE2227148A1 (de) Verfahren zur verarbeitung digitaler daten
DE2910839A1 (de) Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion
DE1524222B1 (de) Schaltung zum bereichsweisen Adressieren der Register des Hauptspeichers eines Rechenautomaten
DE1178623B (de) Programmgesteuerte datenverarbeitende Maschine
DE1255356B (de) Steuervorrichtung fuer taktgesteuerte Rechenmaschinen
DE3330845C2 (de)
DE2747196A1 (de) Vergleicheranordnung zum vergleichen von information variabler laenge
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE1909090C3 (de) Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage
DE3852196T2 (de) Gruppenbezogenes Adressierungssystem.
DE1524111A1 (de) Datenverarbeitungsanlage
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE1179027B (de) Speicherprogrammierte digitale Rechenanlage
DE2233193B2 (de) Stapel-Speichersystem
DE3137704A1 (de) Vorrichtung zum decodieren eines baumfoermigen codes variabler laenge
DE2063565A1 (de) Verfahren und Vorrichtung zur Um Wandlung von einem Code m aus n auftre tenden Eingangssignalen in normale binar codierte Signale
DE1499286B2 (de) Datenbearbeitungsanlage
DE2500201C2 (de) Programmgesteuerte Anordnung zur Durchführung von Operationen an den Zeichen einer Zeichenfolge
DE2457275C3 (de) Anordnung zum Überwachen der Adressierung eines Mikroprogramm-Speichers

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee