DE2063565C3 - Verfahren und Vorrichtung zur Umwandlung von in einem Code m aus n auftretenden Eingangssignalen in normale binär codierte Eingangssignale - Google Patents

Verfahren und Vorrichtung zur Umwandlung von in einem Code m aus n auftretenden Eingangssignalen in normale binär codierte Eingangssignale

Info

Publication number
DE2063565C3
DE2063565C3 DE2063565A DE2063565A DE2063565C3 DE 2063565 C3 DE2063565 C3 DE 2063565C3 DE 2063565 A DE2063565 A DE 2063565A DE 2063565 A DE2063565 A DE 2063565A DE 2063565 C3 DE2063565 C3 DE 2063565C3
Authority
DE
Germany
Prior art keywords
register
binary
code
signal
line
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
Application number
DE2063565A
Other languages
English (en)
Other versions
DE2063565A1 (de
DE2063565B2 (de
Inventor
Philip Charles Geneva Ill. Richards (V.St.A.)
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)
  • Input From Keyboards Or The Like (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung bezieht sich auf ein maschinelles Verfahren und auf eine Vorrichtung zur Umsetzung speziell codierter Eingangssignale, unter Heranziehung von Permutationen einer festen Anzahl von Binärzeichen »1« und einer festen Anzahl von Binärzeichen »0« in gewöhnliche binärcodierte Signale. Das Verfahren gemäß der Erfindung umfaßt dabei die Verfahrensschritte der Speicherung der speziell codierten Eingangssignale in einem ersten Maschinenregister und die Speicherung einer bestimmten Konstante in einem zweiten Maschinenregister.
In einer modernen industriellen Gesellschaft müssen große Mengen an digitaler Information über lange Strecken übertragen werden. Diebetreffenden Informationen werden dabei an fernliegenden Stellen für arithmetische oder verknüpfungsmäßige Verarbeitungsvorgänge benutzt Obwohl das herkömmliche binäre Zahlensystem sich als sehr wertvoll im Hinblick 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 Hbertragung des herkömmlichen Binärcodes auftreten, sind modifizierte Binärcodes entwickelt worden, die die Fehlerermittlung stark vereinfachen. Ein derartiger 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 »0« führen. Die Information wird dabei durch Permutatiouen der Bitpositionen m, also der Binärzeichen »1« in dem jeweiligen, /7-Bit umfassenden Wort codiert Einer der gebräuchlichsten /n-aus-n-Codes ist der 2-aus-6-Code. In diesem Fall sind zwei Bitpositionen von sechs möglichen Bitpositionen jeweils durch ein Binärzeichen »1« gebildet, während die jeweils übrigen vier Bitpositionen jeweils durch ein Binärzeichen »0« gebildet sind.
Aufgrund der Regeln, nach denen m-aus-n-Codes 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, daß 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-/j-Codes für Fehlerfeststell- und Fehlerkorrekturfunktionen brauchbar sind, eignen sich derartige Codes jedoch nicht besonders gut in digitalen Rechenvorgängen. Die meisten digitalen Verarbeitungseinrichtungen sind daher so ausgelegt, daß sie numerische Informationen im normalen Binärzahlensystern verarbeiten. Demgemäß mu3 der für eine zuverlässige Informationsübertragung benutzte /n-ausn-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 oder für eine mehrstufige Verarbeitungsumsetzung erforderlich ist umfaßt 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 Fehlerkontrolle 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 /77-aus-fl-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 zur Umwandlung von in einem Code m aus η auftretenden Eingangssignalen in normale binärcodierte Signale, erfindungsgemäß dadurch,
a) daß dem Abstand der in dem jeweiligen π Signalelemente umfassenden Eingangssignal auftretenden m Signalelemente von einem Bezugspunkt entsprechende Bjnärsignale erzeugt werden,
b) daß ein zusätzliches Binärsignal unter Heranziehung eines konstanten Binärsignals erzeugt wird, das innerhalb dieses zusätzlichen Binärsignals 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ärcodierten Signals addiert werden
Durch die Erfindung kommt man mit einem minimalen Schaltungsaufwand und mit einer minimalen Zeitspanne aus, um große Mengen an für eine FehlerkontroUe entsprechend codierten Eingabedaten für eine maschinelle Verarbeitung in binär codierte Daten umzusetzen.
Eine Vorrichtung zur Durchführung des beanspruchten Verfahrens ist in dem Anspruch 2 gekennzeichnet
Anhand von Zeichnungen wird die Erfindung nachstehend näher erläutert
Fig. 1 zeigt schematisch in einem Blockdiagramm einen mit einem gespeicherten Programm arbeitenden digitalen Rechner, der zur Ausführung des Umsetzsystems gemäß der Erfindung geeignet ist, welches einen programmierten Allzweckrechner verwendet;
F i g. 2 zeigt zum Verständnis der im folgenden näher beschriebenen und in F i g. 1 und 3 dargestellten Anordnungen in einem Diagramm den Inhalt eines Registers von in den F i g. 1 und 3 dargestellten Registern;
Fig.3 zeigt in einem detaillierten Blockdiagramm eine digitale Spezialzweck-Schaltung, die für eine weitere Ausführung des Umsetzsystems gemäß der Erfindung geeignet ist
Die Erfindung bringt Vorteile von gewissen systematischen Eigenschaften jedes Bits der /n-aus-zj-Codes mit sich. Die Bestimmung der Bitpositionen der Binärzeichen »1« in einem /rc-aus-n-Code umfaßt eine einfache lineare Rechenbeziehung zu dem äquivalenten Binärcode. Der äquivalente Binärcode wird dadurch erhalten, daß die m-Bitpositionen, die jeweils ein Binärzeichen »1« in dem m-aus-n-Code führen, mit einer Konstanten summiert werden, die um einen Betrag verschoben ist, der gleich der Größe der Bitpositionen der am weitesten links stehenden Binärzeichen »1« in dem /n-aus-n-Codewort ist Die Vorrichtung und das Verfahren gemäß der Erfindung sind mit besonderem Vorteil in Fällen anwendbar, in denen innerhalb sehr kurzer Zeitspannen eine große Anzahl derartiger Umsetzungen auszuführen ist
Das in Fig. 1 dargestellte Blockdiagramm zeigt eine programmgesteuerte Verarbeitungseinrichtung, die für die Verwendung in einem elektronischen Fei'nsprechvermittlungssystem geeignet ist Die Verarbeitungseinrichtung gemäß Fi g. 1 enthält einen Programmspeicher 300 und einen Kurzzeitspeicher 2Ql. In der programmgesteuerten Verarbeitungseinrichtung gemäß F i g. 1 sind zwei Flip-FIop-Register enthalten, die den Verbindungen mit dem Programmspeicher 300 zugehörig sind. Bei diesen Registern handelt es sich um das 18-Bit-PA-Register 304 und um das 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. Das PSB-Register 306 ist mit dem Programmspeicher 300 über ein Kabel 326 verbunden.
Aus dem Programmspeicher werden Befehlsworte normalerweise nacheinander ausgelesen. Demgemäß wird der Inhalt des PA-Registers 304 normalerweise vor
ίο dem Auslesen des nächsten Befehls um eine »1« erhöht Dies erfolgt unter der Steuerung der PA-Logik 305. Gelegentlich ist es erforderlich, die Folgekette zu unterbrechen und eine Übertragung zu einer nicht in der Folge liegenden Adresse vorzunehmen. Zu diesem Zweck umfaßt der Befehlsvorrat eine Vielzahl von Übertragungsbefehlen, die eine Übertragungsadresse veranlassen, in das PA-Register 304 eingeführt zu werden. Die Übertragungsadresse kann von verschiedenen Quellen innerhalb der programmgesteuerten Verarbeitungseinrichtung gemäß F i g. 1 erhalten werden.
Die minimale Zeitspanne zwischen aufeinanderfolgendem Auslesen des Programmspeichers 300 ist durch die Schaltungskonstanten festgelegt Es ist wünschenswert, daß diese Gesamtzeit für die Ausführung der Befehl·* zur Verfugung steht, die aus dem Speicher ausgelesen sind. Aus diesem Grund ist das PO-Register 501 zusätzlich zu dem PSB-Register 306 vorgesehen. Zu einem bestimmten Zeitpunkt innerhalb des Grundmaschinenzyklus wird der Inhalt des PSB-Registers 306 in das PO-Register 501 zur Decodierung eingeführt Danach wird der Inhalt des PA-Registers 304 um »1« erhöht, und die neu erzeugte Speicheradresse wird in den Programmspeicher 300 übertragen, wodurch der in der Folge nächste Befehl erzielt ist In dem Fall, daß der Befehl in dem PO-Register 501 ein Übertragungsbefehl ist, muß die Übertragungsadresse anstatt die nächste Folge-Adresse dazu herangezogen werden, den nächsten Befehl aus dem Programmspeicher 300 zu e. halten.
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 decodiert. 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 programmgesteuerten
so Verarbeitungseinrichtung gemäß F i g. 1 stattfinden.
Wie in F i g. 1 dargestellt, enthält die programmgesteuerte Verarbeitungseinrichtung eine Vielzahl von Flip-Flop-Registern. Im allgemeinen kann 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-Gatter und ein an das Ziel-Register angeschlossenes Eingangs-Gatter 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 GR-Register 203 hauptsäch-
lieh für die Verbindung mit dem Kurzzeitspeicher 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 CSA-Register 142 hin übertragen werden. In den Ktirzzeitspeicher 201 einzuschreibende Daten können von dem GR-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, muß wieder regeneriert werden, um die Daten für anschließende 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 Regenerierungsuaieii werden aus dem CSI-Register 141 erhalten. Zwischen dem Auslesen und der Regenerierung steht eine ausreichende Zeitspanne zur Verfugung, innerhalb der die gelesenen Daten von dem CR-Register 203 zu dem CSI-Register 141 hingeleitet werden können.
Das LR-Register 204, das LF-Register 205, das LM-Register 206 und das LW-Register 207 werden in Verbindung mit Befehlen verwendet, die eine Vielzahl von Verknüpfungsoperationen durchführen Die Verknüpfungsfunktionsschaltung 220 wird von diesen Befehlen benutzt. Im allgemeinen werden der Inhalt des GR-Registers 203 und des LR-Registers 204 entsprechend der Verknüpfungsfunktion zusammengefaßt, die durch den Inhalt des LF-Registers 205 bezeichnet ist. Der Inhalt des LM-Registers 206 wird in der Verknüpfungsfunktions-Schaltung 220 dazu herangezogen, selektiv bestimmte Bits abzudecken bzw. auszublenden, so daß die Verknüpfungsfunktion lediglich auf diejenigen Bits der Eingabe-Worte hin ausgeführt wird, für die in dem LM-Register 206 eine »1« vorhanden ist. Für alle Bits, für die in dem LM-Register 206 eine »0« vorhanden ist, wird eine »0« erzeugt Das durch die Verknüpfungsfunktionsschaltung 220 schließlich erzeugte Datenwort wird über die Programmleitungs-Sammelschienen 202dem LW-Register 207 zugeleitet.
Wenn der Wunsch besteht, daß diejenigen Bits, auf die hin eine Verknü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-Abdeckschaltung 208 verwendet. Diese selektive Einfügung in das GR-Register wird durch gewöhnliche Ansteuerung der »!«-Seite des jeweiligen Bits des LW-Registers 207 in das GR-Register 203 über die Programmleitungs-Sammelschiene 202 bewirkt Gleichzeitig wird der Inhalt des LM-Registers 206 mit der »0« Seite des jeweiligen Bits des LW-Registers 207 zusammengefaßt, und das Ergebnis wird der »Lösch«-Seite des jeweiligen Bits des GR-Registers 203 zugeleitet Als Ergebnis dieser Maßnahmen wird eine »1« in das jeweilige Bit des GR-Registers 203 eingeschrieben, für die eine »I« in dem LW-Register 207 vorhanden war. Eine »0« wird hingegen in das jeweilige Bit des GR-RegistP.i eingeschrieben, für die eine »i« in dem LM-Rcgisier 206 und eine »0« in dem LW-Register 207 enthalten war. Es sei daran erinnert, daß eine »1« nur in jenen Bitstellen des LW-Registers 207 auftreten kann, für die eine »I« in dem LM-Register 206 enthalten war. Demgemäß wird eine Änderung lediglich bei jenen Bits des GR-Registers 203 vorgenommen, für die eine »1« in dem LM-Register 206 vorhanden ist.
Die Summenwaizschaltung 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, uitd 7w,-r dadurch, daß der Inhalt des GR-Registers 203 über die Programmleitungs-Sammelschiene zu der Summenwälzschaltung 301 hingeleitet wird, und daß das umgewälzte Ergebnis zu dem GR-Register 203 zurückgeleitet wird Die Summenumwälzschaltung 301 wird ferner dazu herangezogen, den Inhalt des GR-Registers 203 und des AA-Registers 302 zu addieren. Das Ergebnis wird dann in das AA-Register302 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 Programmspeicher 300 gemäß F i g. 1 gespeichert werden können.
Tabelle I Umsetz-Unterprogramm
(Zeile)
AND
COMSG
ZAA
FLZT
TCNS
AAXLR FLZT
TCNS
ERROR
ERROR
Abdeckung sämtlicher Bits mit Ausnahme der Bits niederer Ordnung in GR 203
Komplementinhalt von GR 203 Lösche das AA-Register
Speichere die Größe der ersten »0«-Speicherstelle (Z. 1) in dem AA-Register und setze ein Prüfkennzeichen
Gehe auf »Fehler« über, wenn Prüfkennzeichen nicht gesetzt ist
Speichere L 1 in dem LR-Register
Speichere die Größe der zweiten »0«-Speicherstelle (L 2) in dem AA-Register und setze Prüf-Kennzeichen
Gehe auf »Fehler« über, wenn das Prüf-Kenn-
zeichen nicht gesetzt ist
TCNS
ADD
ERROR
12
AAXRF /O/30000 13
LGR 14
RGLO 15
16
LRXGR 17 17
ADD TTSA 18
AAXGR ZGR 19
AND TR RETURN 20
RETURN END 21
ERROR 22
23
24
I orlNCl/uni: (/.cilo)
U inset/-Unterprogramm 11
COMS
Komplementbildung von GR 203, setze Prüfkennzeichen, wenn GR 203 sämtlich »1«- Zeichen enthält
Übertrage, wenn Prüf-Kennzeichen nicht gesetzt ist
Lade L2 in RF-Register
Lade die Konstante in GK 203
Wälze den Inhalt von GR 203 nach links um
durch den Inhalt des RF-Regi;ters
Addiere die verschobene Konstante in GR 203
zum Inhalt des AA-Registers (Z-2)
Führe L 1 vom LR-Register zu GR 203
Addiere L\ in GR?03 zur Summe der verschobenen Konstanten und / 2 im AA-Register
Führe das Ergebnis vom AA-Register zu
GR 203 hin
Decke sämtliche Bits mit Ausnahme der unteren
vier Bits im GR 203 ab
Kehre zum Anforderungsprogramm zurück
Lösche GR 203 und
Gehe auf »Rückkehr« über
Die vorstehende Programmliste kann wie folgt gedeutet werden:
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 G R-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 »1« 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 »0«, die als die Größe »L 1« 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 das Kennzeichen nicht gesetzt, so erfolgt der Übergang zu der Stelle »Fehler« in Zeile 22.
Diese Übertragung zeigt an, daß keine »1« in dem ursprünglichen 2-aus-6-Code vorhanden war und daß demgemäß ein Fehler aufgetreten ist Wenn das Kennzeichen gesetzt worden ist wird der Befehl in Zeile 8 ausgeführt wobei der Wert der Größe L1 aus dem AA-Register 302 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 »0« von rechts in dem GR-Register 203 und damit natürlich entsprechend die zweite »1« des 2-aus-6-Codes. Der Wert»/. 2« 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 die zweite »1« in dem ursprünglichen
Jj 2-aus-6-Code vorhanden war. Ist die zweite »1« in dem betreffenden Code nicht vorhanden, so erfolgt ein Übergang zu der Stelle »Fehler« in der Zeile 22.
Gemäß Zeile 11 wird der Inhalt des GR-Registers 203 komplementiert, und das Prüfkennzeichen wird gesetzt, wenn sämtliche »!«-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äß Zeile 11 eine 5 »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, daß in dem LR-Register 204 eine Zahl enthalten ist die der Größe
in 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 Größe L 2, nämlich die Lage der zweiten am weitesten rechts stehenden »1« in dem ursprünglichen 2-aus-6-Code. Diese Größen werden, wie im folgenden noch näher beschrieben werden wird, dazu herangezogen, das binäre Äquivalent des 2-aus-6-Codes 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-Codes erzeugen, ferner die entsprechenden Werte der Größen L1 und L 2, der Wert der nachstehend noch näher zu beschreibenden Größe »C2« und das binäre Äquivalent (Summe). Die Anwendung dieser Werte wird nachstehend näher erläutert
9 g.Code 20 63 565 L2 10 Cl Summe
0001(1) 0000(0) 0001(1)
Tabelle I! 000011 0010(2) 0000(0) 0010(2)
Taste 000101 Binär (Dezimal) 0010(2) 0000(0) 0011(3)
000110 L\ 0011(3) 0001(1) 0100(4)
1 001001 0000(0) 0011(3) 0001(1) 0101(5)
? 001010 0000(0) 0011(3) 0001(1) 0110(6)
3 001100 0001(1) 0100(4) 0011(3) 0111(7)
4 010001 0000(0) 0100(4) 0011(3) 1000(8)
5 010010 0001(1) 0100(4) 0011(3) 1001(9)
6 010100 0010(2) 0100(4) 0011(3) 1010(10)
7 011000 0000(0) 0101(5) 0110(6) 1011(11)
8 100001 0001(1) 0101(5) 0110(6) 1100(12)
9 100010 0010(2) 0101(5) 0110(6) 1101(13)
O 100100 0011(3) 0101(5) 111^14)
ST3P 101000 0000(0) 0101(5) 0110(6) 1111(15)
STP 110000 0001(1)
KP 0010(2)
ST2P ÜO11(3)
ST 0100(4)
Gemäß Zeile 13 in Tabelle I wird der Wert der Größe L 2 aus dem AA-Register 302 zu der Summenumwälzschaltung 301 hin geleitet. Gemäß Zeile 14 wird ein >-, konstanter Wert C in das GR-Register 203 geladen. Dieser konstante Wert bzw. diese Konstante ist eine binäre »3«, die um zwei Bitpositionen von dem äußersten linken Ende des GR-Registers 203 verschoben ist. Dies geht aus F i g. 2 hervor, in der das Kästchen so 203 den Inhalt des GR-Registers 203 veranschaulicht. Der Befehl gemäß Zeile 15 bewirkt, daß der Inhalt des GR-Registers 203 durch den Inhalt der Summenumwälzschaltung 301 nach links läuft. Es sei daran erinnert, daß dieser Wert L 2 ist, das heißt die Lage der zweiten r> »1« in dem 2-aus-6-Code bezeichnet.
Der resultierende Inhalt des GR-Registers 203 ist in der am weitesten links stehenden Spalte in F i g. 2 aufgeführt. Dabei besitzt L 2 die Werte, die in der am weitesten rechts stehenden Spalte in F i g. 2 bezeichnet 4i> sind. Es dürfte ersichtlich sein, daß die am weitesten rechts stehenden vier Bitpositionen des GR-Registers 203 die binäre Darstellung eines Wertes C2 enthalten, welcher den Ausgangswert »C« darstellt, der durch den Wert der Größe L 2 verschoben wird. Der nunmehr in dem GR-Register 203 auftretende Wert der Größe C2 wird zu dem Wert der Größe L 2 hinzuaddiert, die zuvor in dem AA-Register 302 abgespeichert ist. Dies wird durch den Befehl gemäß Zeile 16 der Tabelle I ausgeführt.
Gemäß Zeile 17 der Tabelle I wird der Wert der Größe L1 in dem LR Register 204 zu dem GR-Register 203 hin verschoben, und gemäß Zeile 18 wird dieser Wert zu der Summe der Größe C 2 und L 2 in dem AA-Register 302 hinzuaddiert
Aus der am weitesten rechts stehenden Spalte der Tabelle II dürfte ersichtlich sein, daß diese nunmehr in dem AA-Register 302 befindliche Summe das binäre Äquivalent des ursprünglichen 2-aus-6-Cödes darsieüL Gemäß Zeile 19 wird dieses binäre Äquivalent aus dem AA-Register 302 herausgeführt und in das GR-Register 203 eingeführt Gemäß Zeile 20 werden sämtliche Bits mit Ausnahme der vier Bits niederer Ordnung in dem GR-Register 203 abgedeckt bzw. ausgeblendetGemäß Zeile 21 erfolgt eine Rückkehr zu der anfordernden Steiie des Hauptprogramms.
Die »Fehler«-Stelle gemäß Zeile 22 lösch» üen Inhalt des GR-Registers 203, und gemäß Zeile 23 bewirkt sie die Ausführung eines Übergangs zu dem Befehl gemäß Zeile 21. Damit erfolgt eine Rückkehr zu dem anfordernden Programm, wobei das GR-Register 203 vollständig leer ist. Dies zeigt an, daß in dem umzusetzenden bzw. zu konvertierenden ursprünglichen Code ein Fehler gefunden worden ist.
In F i g. 3 ist eine erfindungsgemäße Schaltungsanordnung zur Ausführung des vorstehend betrachteten neuen Verfahrens angegeben, und zwar im Hinblick auf einen programmierten Allzweckrechner. Gemäß F i g. 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 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 »1« steuern somit über die Verzögerungsschaltung 104 das Gatter 105. Da die Impulsteilerschaltung 106 die ihr zugeführten Impulse um den Faktor 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 sieben ihr zugeführte Eingangsimpulse hin einen Ausgangsimpuls abgibt Die Ausgangsimpulse der Impulsteilerschaltung 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 auieinünderfoSgenden Zyklen der Gesamtschaltung gemäß Fig.3. Demgemäß wird dieser siebte Taktimpuls von der Impulsteilerschaltung 109 dazu benutzt, das Gatter 100 freizugeben, um eine neue 2-aus-6-Binärcodegruppe zu dem Schieberegister 101 zu übertragen. Der siebte Taktimpuls wird ferner über eine Leitung 110 einer Voreinstellungs-Zählerschaltung ill 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 »1«-Zustand eingestellt bzw. gesetzt. Der nächste auf der Leitung 113 auftretende Taktimpuls bewirkt somit, daß sämtliche Zählerstufen des Wählers 111 in den »O«-Zustand gelangen, und anschließend werden die Taktimpulse in üblicher Weise gezählt.
Der auf der Leitung 110 auftretende siebte Taktimpuls setzt ferner die ersten beiden Stufen des achtstufigen Schieberegisters 112 in den »!«-Zustand. Über die Leitung 114 bewirkt der siebte Taktimpuls das Setzen der letzten sechs Stellen bzw. Stufen des Schieberegisters 112 in den »O«-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 zu dem Inhalt eines zu dieser Schaltung gehörenden Akkumulator-Registers hinzuaddiert, und die gebildete Summe win? in dem Akkumulatorregister abgespeichert. Der siebte Taktimpuls wird über die Verzö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 F i g. 3 dargestellte Schaltung arbeitet wie folgt. Ein vollständig geprüfter 2-aus-6-Code 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 Ul und das Schieberegister 112 in die obenerwähnten Zustände voreingestellt. Die zuvor gebildeten Ergebnisse werden aus der Addierer-Akkumulator-Schaltung 115 über das Gatter 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 des 2-aus-6-Bitmusters in dem Schieberegister 101 nach rechts. Gleichzeitig wird der Zähler 111 fortgeschaltet, und außerdem wird das Bitmuster in dem Schieberegister 112 weitergeschoben.
Es dürfte ersichtlich sein, daß die Inhalte des Schieberegisters 101, des Zählers 111 und des Schieberegisters 112 synchron durch dieselben Taktimpulse verschoben werden. Wenn somit der erste Taktimpuls von dem Schieberegister 101 auftritt, hat der Zähler 111 eine dem binären Äquivalent der Bitposition des ersten Binärzeichens »1« aus dem Schieberegister 101 (L 1) entsprechende Zählerstellung eingenommen. Nach einer kurzen Verzögerungszeit durch die Verzögerungsschaltung 114 kann sich die Zählerschaltung bzw. der Zähler 111 einstellen. Das binäre Äquivalent wird dabei über das Gatter 105 der Addierer-Akkumulator-Schaltung 115 zugeführt, in der die »0« in dem gelöschten Akkumulator-Register zu diesem binären Äquivalent hinzuaddiert wird. Das Ergebnis, das binäre Äquivalent L 1 selbst, wird dann in dem Akloimulator-Rugister 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 Bitposition (LT) aus dem Zähler 111 über das Gatter 105 in die Addierer-Akkumulator-Schaltung 115 einzuführen. Dieses binäre Äquivalent L2 der zweiten Bitposition wird dann zu dem bereits gespeicherten binären Äquivalent L 1 der ersten Position hinzuaddiert, und die Summe (L 1 + L 2) wird in dem Akkumulator-Register der Addierer-Akkumulator-Schaltung 115 gespeichert.
Der von dem Schieberegister 101 abgegebene zweite Ausgangsimpuls bewirkt ferner, daß 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. 1 beschriebenen Bitmuster identisch und mit Cl bezeichnet sowie in der fünften Spalte der Tabelle II aufgeführt. Dies bedeutet, daß dann, wenn das zweite auftretende Bit in dem 2-aus-6-Code an der zweiten oder dritten Bitposition ist (das heißt L2=1, 2), der numerische Wert (C 2) 0 ist. Wenn das zweite Bit des 2-aus-6-Codes an der vierten, fünften oder sechsten Bitposition (L 2 = 3, 4 oder 5) auftritt, ist der numerische Wert C2 in dem Schieberegister 112 gleich 1, 3 oder 6. Wie im Zusammenhing mit Tabelle II bemerkt, ist die Summe der beiden Bitpositionen Ll und L 2, die durch den Zähler 111 zugeführt wird, zusammen mit dem verschobenen Inhalt C2 in dem Schieberegister 112 gleich dem binären Äquivalent des gesamten 2-aus-6-Codes. Die Binärzahl in der Addierer-Akkumulator-Schaltung 115 wird während jedes siebten Taktimpuises über das Gatter 118 herausgeführt
Es dürfte ersichtlich sein, daß die Schaltungsanordnung gemäß Fig.3 die Ausführung des gleichen Verfahrens bewirkt, wie es durch das in Verbindung mit F i g. 1 beschriebene Rechnerprogramm ausgeführt wird.
Hierzu 3 Biau Zeichnungen

Claims (3)

Patentansprüche:
1. Verfahren zur Umwandlung von in einem Code m aus π auftretenden Eingangssignalen in normale binärcodierte 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 innerhalb dieses zusätzlichen Binärsignals 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ärcodierten Signals addiert werden.
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 (111, 105, 104, 113, 103, 102) vorgesehen ist, die der Lage jedes Binärzeichens »1« in dem ersten Schieberegister (101) von der Bitposition ».iedrigster Wertigkeit entsprechende Binärsignale bildet, dsß eine Verschiebeschaltung (102, 103, 113, 112) vorgesehen ist, die das gespeicherte konstante Biiiärsi.rsal um einen Wert zu verschieben erlaubt, der der Lage des in dem ersten Schieberegister (101) am weitesten links stehenden Binärzeichens »1« von der Bitposition niedrigster Wertigkeit aus entspricht, und daß eine binäre Addierschaltung (116, 117, 115) vorgesehen ist, welche den Inhalt des ersten Schieberegisters (101) und das verschobene konstante Binärsignal summiert.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß das konstante Binärsignal dem Wert der Dezimalziffer 3 entspricht
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 DE2063565A1 (de) 1971-07-01
DE2063565B2 DE2063565B2 (de) 1978-08-17
DE2063565C3 true 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
US3291910A (en) * 1962-11-29 1966-12-13 Bunker Ramo Encoder
US3518660A (en) * 1962-11-29 1970-06-30 B R Corp 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
DE2063565A1 (de) 1971-07-01
US3680081A (en) 1972-07-25
NL7018422A (de) 1971-06-25
BE760628A (fr) 1971-05-27
FR2072026B1 (de) 1974-02-15
GB1340078A (en) 1973-12-05
CA933282A (en) 1973-09-04
FR2072026A1 (de) 1971-09-24
JPS527704B1 (de) 1977-03-03
SE365370B (de) 1974-03-18
DE2063565B2 (de) 1978-08-17

Similar Documents

Publication Publication Date Title
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2227148A1 (de) Verfahren zur verarbeitung digitaler daten
DE2751097A1 (de) Triggerschaltungseinheit
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE1255356B (de) Steuervorrichtung fuer taktgesteuerte Rechenmaschinen
DE1178623B (de) Programmgesteuerte datenverarbeitende Maschine
DE3330845C2 (de)
DE69125424T2 (de) Vorrichtung zur variablen Längenkodierung und Vorrichtung zur variablen Längendekodierung
DE1499206C3 (de) Rechenanlage
DE1197650B (de) Parallel-Addierer
DE2524749C2 (de) Digitale Filteranordnung
DE1179027B (de) Speicherprogrammierte digitale Rechenanlage
DE2233193B2 (de) Stapel-Speichersystem
DE2063565C3 (de) Verfahren und Vorrichtung zur Umwandlung von in einem Code m aus n auftretenden Eingangssignalen in normale binär codierte Eingangssignale
DE2164718A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit
DE1524117B1 (de) Datenverarbeitungsanlage mit Umlaufregistern
DE1549381B2 (de) Datenverarbeitungsanlage
DE1184122B (de) Addiervorrichtung
DE1296427B (de) Datenbearbeitungssystem
DE2457275C3 (de) Anordnung zum Überwachen der Adressierung eines Mikroprogramm-Speichers
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE19851690A1 (de) Residuum-Prüfung von Datenumwandlungen
DE1449540B2 (de) Digitalrechner
DE1958662A1 (de) Digitaler Impulsfolgenteiler mit optimaler Gleichverteilung der aus einer aequidistanten Eingangsimpulsfolge ausgewaehlten Impulse einer Ausgangsimpulsfolge
DE1474090B2 (de) Datenverarbeitungsanlage

Legal Events

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