DE2855003C2 - Prozessor für ein Datum darstellende Daten - Google Patents

Prozessor für ein Datum darstellende Daten

Info

Publication number
DE2855003C2
DE2855003C2 DE2855003A DE2855003A DE2855003C2 DE 2855003 C2 DE2855003 C2 DE 2855003C2 DE 2855003 A DE2855003 A DE 2855003A DE 2855003 A DE2855003 A DE 2855003A DE 2855003 C2 DE2855003 C2 DE 2855003C2
Authority
DE
Germany
Prior art keywords
date
day
difference
entered
memory
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
DE2855003A
Other languages
English (en)
Other versions
DE2855003A1 (de
Inventor
Hidetoshi Minato Tokyo Kosaka
Yukio Maehashi
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Publication of DE2855003A1 publication Critical patent/DE2855003A1/de
Application granted granted Critical
Publication of DE2855003C2 publication Critical patent/DE2855003C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Calculators And Similar Devices (AREA)
  • Complex Calculations (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

Die Erfindung betrifft einen Prozessor für ein Datum darstellende Daten mit einem ersten Speicher zur Speicherung der Daten für ein dem Prozessor eingegebenes Datum.
Die DE-AS 23 28 054 offenbart einen derartigen Rechner, der im wesentlichen dadurch gekennzeichnet ist, daß ein Umschalter zur wahlweisen Betätigung im Rechenbetrieb und im Uhrenbetrieb vorgesehen ist, wobei entsprechend alternativ die Ziffern-Anzeigeeinrichtung entweder von der Recheneinheit oder von der Uhreneinheit beaufschlagbar ist und numerische Datensignale, die von einer Tastatur in die vorhandenen Schieberegister eingegeben werden, zur Benutzung durch die Uhreneinheit in mindestens ein Speicherregister überstellbar sind. Bei diesem Tischrechner, dessen Uhreneinheit insoweit als Zähler funktioniert, werden die Daten, die sich auf einen bestimmten Wochentag und die Angabe des Tages innerhalb eines bestimmten Monats (z. B. 15. Januar) beziehen, von einem Trommelkalender abgeleitet. Dieser wird mechanisch angetrieben; zur richtigen Berücksichtigung eines Schaltjahres ist ein von außen zugänglicher Schalter erforderlich (vgL Spalte 6, Zeilen 17-28).
Die US-PS 33 12 951 zeigt ein programmiertes Mehrfach-Computer-System. Bei dem Computer handelt es sich um einen Allzweck-Computer, der jedoch keinerlei Daten für Datumsangaben verarbeitet Soweit man mit diesem Computer auch Daten, die sich auf Datumsangaben beziehen, bearbeiten oder verarbeiten kann, ergeben sich aus der genannten US-PS keinerlei Hinweise darauf, daß eine Nachprüfung erfolgen könnte daraufhin, ob ein verarbeitetes bzw. bearbeitetes Datum in der Realität existiert oder nich*.
Ein kleinformatiger Rechner zur Verarbeitung derartiger Daten als Tischrechner ist bereits vorgeschlagen worden. Bei ihm werden die eingegebenen ein Datum darstellenden Daien auf der Basis der Differenz des eingegebenen Datums zu einem Bezugsdatum verarbeitet Wenn ein unrealistisches Datum, z. B. der erste Tag des 13. Monats 1978 oder der 29. Februar 1978 fälschlicherweise in den Rechner eingegeben wird, dann werden diese Daten jedoch verarbeitet, ohne zu überprüfen, ob sie falsch oder richtig sind. Es ergibt sich demgemäß ein falsches Ergebnis.
Ein herkömmlicher Rechner, der ein solches Problem lösen soll, vergleicht nacheinander Tag, Monat und Jahr der eingegebenen Daten mit in einem Rechner gespeicherten richtigen Daten, um so herauszufinden, ob das eingegebene Datum tatsächlich existiert oder nicht Insbesondere wird zuerst überprüft, ob das eingegebene Jahr bzw. die sich darauf beziehenden Daten tatsächlich berechenbar sind. Es wird dann auch berechnet, ob die sich auf einen Monat beziehenden Daten im Bereich von 1 bis 12 liegen. Schließlich werden die Daten, die sich auf einen Tag beziehen, auf der Basis der Ergebnisse der Überprüfungen von Jahr und Monat geprüft. Bei Überprüfung der sich auf einen Tag beziehenden Daten ist es notwendig zu prüfen, ob das Jahr ein Schaltjahr ist oder nicht da davon abhängt, ob der Februar 28 oder 29 Tage hat und demgemäß der letzte Tag der 28te oder 29te ist. Daher muß ein herkömmlicher Rechner zur Lösung dieser Aufgabe eine große Anzahl von Daten als Bezugsdaten für einen solchen Vergleich speichern. Diese Tatsache belastet
•»5 sehr die Herstellungskosten und die Größe eines Prozessors dieser Art, der als Tischrechner eingesetzt werden soll. Demgemäß ist es Aufgabe der Erfindung, einen Datenprozessor zu schaffen, der in der Lage ist, zu beurteilen, ob ein eingegebenes Datum bzw. die dieses
so Datum darstellende Daten, die verarbeitet werden sollen, realistisch ist oder nicht, wobei diese Feststellung mit einem erheblich geringeren Aufwand an fest im Prozessor gespeicherten Daten möglich sein soll. Dabei soll dies insbesondere so möglich sein, daß ein kleinformatiger elektronischer Tischrechner geschaffen
wird, innerhalb dessen eine Überprüfungsfunktion hinsichtlich von eingegebenen Datumsdaten gegeben
Diese Aufgabe wird dadurch gelöst, daß in einer Tage-Recheneinheit ein vorgegebenes Bezugsdatum gespeichert ist, daß ferner ein erster weiterer Speicher vorgesehen ist, in dem die durchschnittliche Anzahl von Tagen pro Jahr (365,25 Tage) gespeichert ist, daß ferner ein zweiter weiterer Speicher vorgesehen ist, in dem die durchschnittliche Anzahl von Tagen pro Monat (30,6 Tage) gespeichert ist, und daß die genannte Tage-Recheneinheit die Tagesdifferenz des Bezugsdatums und des eingegebenen Datums unter Einsatz der in den
genannten weiteren Speichern gespeicherten Werte bestimmt, und daß ferner eine Tage-Inversions-Recheneinheit aus der von der Tage-Recheneinheit ermittelten Tagesdifferenz durch einen gegenüber dei Bildung der Tagesdifferenz aus Datumsangaben inversen und abgewandelten Algorithmus und unter Einsatz der in den genannten weiteren Speichern gespeicherten Werte ein durch Jahre, Monate und Tage dargestelltes Datum rückberechnet, welches wie die Tagesdifferenz die Bedeutung einer Datumsdifferenz besitzt, und daß in der Tages-Inversions-Recheneinheit das Bezugsdatum und das rückberechnete Datum addiert werden, und daß ferner eine Schalteinb-eit vorgesehen ist, die das durch Addition entstehende Datum mit dem eingegebenen Datum vergleicht, wobei das Vergleichsergebnis eine Aussage liefert, ob es sich beim eingegebenen Datum um ein reales Datum handelt.
ein Ausführungsbeispiel der Erfindung wird im folgenden unter Bezugnahme auf die Zeichnungen beschrieben. Es steifen dar
F i g. 1 ein Blockschaltbild eines Ausführungsbeispiels,
Fig.2 ein Flußdiagramm zur Erläuterung der Operation des Datenprozessors nach F i g. 1 und
Fig.3 ein Flußdiagramm zur Erläuterung der inversen Berechnung eines Datums.
F i g. 1 zeigt ein Blockschaltbild eines bevorzugten Ausführungsbeispiels eines Prozessors für Datumsangaben. Die Daten, die die Datumsangaben darstellen, werden durch eine Tastatur 1 eingegeben und durch einen Konverter 2 in numerische Daten konvertiert. Diese numerischen Daten werden dann in einen Datumsspeicher 4 über ein Verknüpfungsglied 3 bei Auftreten eines Signals 14a eingelesen. Der Datumsspeicher 4 enthält einen Speicherbereich Xo zur Speicherung des »Tages«, einen Speicherbereich Xm zur Speicherung des »Monats« und einen Speicherbereich Xy zur Speicherung des »Jahres«. Diese Speicherbereiche werden durch ein digitales Zeiteinstellsignal definiert. Das Verknüpfungsglied 3 ist ein UND-Verknüpfungsglied. Das Steuersignal 14a gelangt an das UND-Verknüpfungsglied von einem Steuersignalgenerator 14, der nacheinander verschiedene Arten notwendiger Steuersignale für den Ablauf der Operation des Systems erzeugt. Das Signal am Ausgang des Datumsspeichers 4 gelangt über das UN D-Verknüpfungsglied 5 an die Tage-Rechnereinheit 10, in der die Anzahl der Tage errechnet wird. An den anderen Eingang des UND-Verknüpfungsgliedes 5 gelangt ein Steuersignal 146. Die Tage-Rechnereinheit 10 wird von einem Steuersignal 14e gesteuert. Sie ist operationsmäßig mit einem W-Register 20 und einem Z-Register 21 gekoppelt. Das W-Register hat Speicherbereiche W>, IVd und Wm. Ferner ist ein Speicherkreis 6 zur Speicherung einer Konstanten 365,25 und ein Speicherkreis 7 zur Speicherung einer Konstanten 30,6 vorgesehen. Die Ausgänge des Speicherkreises 6 bzw. des Speicherkreises 7 sind u. a. jeweils über ein U N D-Verknüpfungsglied 8 bzw. 9 mit der Tage-Recheneinheit 10 verbunden. An den jeweils anderen Eingang des UND-Verknüpfungsgliedes 8 gelangt ein Steuersignal 14c, an den des UND-Verknüpfungsgliedes 9 ein Steuersignal 14d Die Tage-Recheneinheit enthält verschiedene arithmetische Einheiten, z. B. einen Addierer, Verknüpfungsglieder zur Anpassung an die Schnittstellen mit dem W-Register 20 und dem Z-Register 21, und ferner Verknüpfungsglieder zur Durchführung bestimmter arithmetischer Operationen. Auf der Grundlage der folgenden Erläuterungen ist dies jedoch für den Durchsehnittsfachmann ersichtlich, so daß weitere Erläuterungen an dieser Stelle nicht erforderlich sind.
Die Tage-Recheneinheit 10 berechnet die Differenz der Anzahl von Tagen zwischen einerseits einem eingegebenen und im Datumsspeicher 4 gespeichertem Datum und andererseits einem gegebenen Bezugsdatum, z. B. dem 1. März 1900.
Als Beispiel sei nun die Differenz von Tagen in einem
ίο Fall berechnet, in dem die Daten für das eingegebene Datum zwischen dem 1. März 1900 und dem 28. Februar 2100 liegen und das Bezugsdatum der 1. März 1900 ist Dabei wird auf F i g. 2 Bezug genommen. F i g. 2 zeigt ein Flußdiagramm zur Erläuterung des Rechenganges.
Im ersten Schritt (1) wird der Inhalt des Datumsspeichers 4 in das W-Register 20, das mit der Tage-Recheneinheit 10 assoziiert ist, synchron zum Steuersignal 14a eingelesen. Zu diesem Zeitpunkt wird der Inhalt des Datumsspeichers 4 nicht geändert Gleichfalls zu diesem Zeitpunkt wird der Inhalt der Speicherbereiche Xm, Xo und Χγ in die Speicherbereiche Wm, Wd bzw. Wy eingelesen, so daß die Informationen bezüglich des »Monats«, des »Tages« und des »Jahres« in den Speicherbereichen WM, WD bzw. IVy des W-Registers 20 gespeichert sind. Dann wird in einem zweiten Schritt (2) bestimmt, ob der Inhalt des Speicherbereiches Wm, d. h. der »Monat« größer oder gleich 3 ist oder nicht. Ist er gleich oder größer als 3, dann schreitet die Steueroperation zum dritten Schritt (3) vor und das Ergebnis einer Subtraktion der Zahl 3 vom Inhalt des Speicherbereiches Wm wird dann berechnet und in den Speicherbereich Wm als dessen neuer Inhalt eingelesen. Ist er kleiner als 3, dann schreitet die Operation zum Schritt (5) fort, der darin besteht, daß zu dem Inhalt des Speicherbereiches WM eine 9 addiert wird und daß die dadurch erhaltene Summe als dessen neuer Inhalt in den Speicherbereich Wm eingelesen wird. Der Inhalt des Speicherbereiches Wm, den man nun entweder durch Schritt (3) oder (5) erhält, ist die Differenz zwischen dem Monat des am Eingang eingegebenen Datums und dem Monat des Bezugsdatums. In diesem Beispiel ist der Bezugsmonat der März und daher ist die Differenz in Monaten von dem Monat März die sich ergebende Monats-Differenz. Im Falle von Januar bzw. Februar ergeben sich daher als Monats-Differenz vom Bezugsmonat, also dem März, 10 bzw. 11 Monate. Man erhält dies im Schritt (5). In diesem Fall geht der Rechengang weiter zu Schritt (6), in dem das Ergebnis der Subtraktion von 1901 vom Inhalt des Speicherbereiches Wy, d. h. das »Jahr« in den Speicherbereich Wy als dessen neuer Inhalt eingelesen wird, wobei Januar und Februar als die Monate im vorhergehenden Jahr bezüglich des Bezugsmonats, d. h. des März, betrachtet werden. Aus diesem Grund muß zur Korrektur in diesem Fall von der Differenz des Jahres des Datums, das eingegeben wird, und des Bezugsjahres noch eine »1« abgezogen werden. Daher ist der Inhalt des Speicherbereiches Wy, der im Schritt (6) in diesem eingelesen wird, die Jahresdifferenz zwischen dem Jahr der Datumseingabe und dem Jahr des Bezugsdatums. Hingegen ist im Falle des Schrittes (3) die Jahresdifferenz das Ergebnis einer Subtraktion des Bezugsjahres 1900 von dem Jahr des Eingangsdatums, das dann im Schritt (4) in den Speicherbereich Wm eingeschrieben wird. Ist im Schritt (6) das Ergebnis negativ, dann sind die Daten des Eingangsdatums in dem Prozessor nicht berechenbar. Es liegt somit ein Fehler vor. Im Schritt (7) wird die Tagesdifferenz zwischen den Tagesdaten der
Datumseingabe und des Bezugsdatums bei Auftreten des Signals 14e berechnet, indem die in dem Speicherbereich Wy gespeicherte Jahresdifferenz, die im Speicherbereich WM gespeicherte Monatsdifferenz und die im Speicherbereich W0 gespeicherten Tage hierzu herangezogen werden. Zu diesem Zweck wird die Konstante 365,25 über das UND-Verknüpfungsglied 8 synchron mit dem Steuersignal 146 in die Tage-Recheneinheit 10 eingeführt. Die Konstante 365,25 entspricht der durchschnittlichen Anzahl von Tagen pro Jahr unter Berücksichtigung der Schaltjahre. Gleichermaßen wird eine Konstante 30,6, die in dem Speicherkreis 7 gespeichert ist, von diesem in die Tage-Recheneinheit 10 über das UND-Verknüpfungsglied 9 synchron mit dem Steuersignal Hd eingelesen. Die Summe des ganzzahligen Teils des Produktes der Konstanten 365,25 und der im Schritt (4) oder (6) in den Speicherbereich Wy eingelesenen Jahresdifferenz, des ganzzahligen Teiles des Produktes der Konstanten 30,6 und der in den Speicherbereich WM im Schritt (3) oder (5) eingelesenen Monatsdifferenz und der Tag im Speicherbereich WD wird dann berechnet. Diese Summe ist die Tagesdifferenz zwischen dem Tagesdatum der Datumseingabe und des Bezugsdatums. Im Schritt (7) ist die Operation der Ermittlung des ganzzahligen Teils der Produkte mit /Λ/rangegeben.
Die derart ermittelte Tagesdifferenz, d.h. die auf diese Art und Weise berechnete Summe wird dann in das Z-Register eingelesen und dort gespeichert. Dann ermittelt man im Schritt (8), ob der Inhalt des Z-Registers größer als eine bestimmte Konstante ist, die einem Eingabedatum entspricht, das über dem 28. Februar 2100 liegt; ist der Inhalt des Z-Registers größer als diese Konstante, dann ist das Datum unberechenbar und es ergibt sich ein Fehler.
Ergibt sich ein Fehler, so ist das in dem Flußdiagramm als ERR angegeben.
Auf diese Weise berechnet die Tage-Recheneinheit 10 die Tagesdifferenz zwischen den Daten für das am reiches WY mit 365,25 wird von dem Inhalt des Z-Registers 21 abgezogen. Zur Abrundung des Ergebnisses der Subtraktion auf eine Dezimalzahl wird 0,9 hinzu addiert. Das entspricht der Summe von Differenztagen bezogen auf die Differenzmonate und die Tage an sich. Der ganzzahlige Teil des durch diese Operation erhaltenen Wertes, d. h. das gerundete Ergebnis dieser Subtraktion, wird dann in das Z-Register 21 eingelesen. Als nächstes wird in einem Schritt (13) das Flip-Flop 20 gesetzt. Das Flip-Flop 20 wird dazu benutzt, zu beurteilen, um festzustellen, ob der in dem vorhergehenden Schritt berechnete »Monat« Januar oder Februar ist. Zu diesem Zweck wird m einem Schritt (14) überprüft, ob der Inhalt des Z-Registers 21 »0« ist oder nicht. Ist der Inhalt »0«, dann ist das Datum der 29. Februar eines Schaltjahres. In diesem Fall wird in einem Schritt (15) die Zahl 366 in das Z-Register 21 eingelesen und in einem Schritt (16) das Flip-Flop 22 zurückgesetzt. In einem Schritt (17) wird der Inhalt 30,6 des Registers 7 in die Inversions-Recheneinheit 13 über das UND-Verknüpfungsglied 12 bei Auftreten des d.h. synchron mit dem Steuersignal 14g eingelesen. In der lnversions-Recheneinlieit 13 wird die Konstante 30,6 dazu benutzt, um den Inhalt des Z-Registers 21 durch sie zu dividieren. Der ganzzahlige Bestandteil des Quotienten dieser Division wird dann als invers-berechnete Monatsdifferenz in den Speicherbereich Wm eingelesen. In einem Schritt (18) wird das Produkt des im Schritt (17) erhaltenen Quotienten, d. h. der Inhalt des Speicherbereiches Wm und der Konstanten 30,6 vom Inhalt des Z-Registers 21 abgezogen. Die dabei erhaltene Differenz wird dann in das Z-Register 21 eingelesen. Der ganzzahlige Teil dieses Wertes, den man durch Rundung der Zahlen des Überschusses unterhalb einer Dezimale durch Addition von 0,5 erhält, entspricht der Anzahl der Tage an sich. Wenn der Überschuß einen ganzzahligen Teil hat, dann ist der Inhalt von Z kleiner als 0,6. Dann wird die folgende Korrektur ausgeführt. Dann wird in
30
einem Schritt (19) geprüft, ob der Inhalt von Zgrößer als Eingang eingegebene Eingangsdatum und dem Bezugs- 40 0,6 ist oder nicht. Ist er niedriger als 0,6, in welchem Fall datum und speichert es im Z-Register 21. der Überschuß keinen ganzzahligen Teil aufweist, dann
Bei der Erläuterung der folgenden Rechenschritte wird auf F i g. 1 und 3 Bezug genommen. Die Inversions-Recheneinheit 13 steht operationsmäßig mit dem W-Register 20, dem Z-Register 21 und einem Flip-Flop 22 in Verbindung und enthält (nicht gezeigte) arithmetische Einheiten (z. B. einen Addierer) sowie Verknüpfungsglieder zur Verbindung der Schnittstellen mit dem W-Register 20 und dem Z-Register 21. Die Inversions- Recheneinheit 13 wird bei Auftreten des Steuersignals 14Λ in Betrieb gesetzt. In einem Schritt (10) wird eine »0« in die Speicherbereiche WY, WM und IVd im W-Register 20 eingelesen und setzt diese Bereiche damit auf ihre Anfangszustände. In einem Schritt (11) wird der Inhalt des Speicherkreises 6, nämlich die durchschnittliche Anzahl von Tagen pro
Jahr, also 365,25 in die Inversions-Recheneinheit 13 über das UN D-Verknüpfungsglied 11 bei Auftreten des Steuersignals \4f, also synchron mit diesem, eingelesen. In der Inversions-Recheneinheit 13 wird der Inhalt des Z-Registers 21, der gleich der Anzahl der Tage ist, durch die durchschnittliche Anzahl der Tage, also durch die Zahl 365,25 dividiert Der ganzzahlige Teil des Quotienten, der sich als Ergebnis dieser Division ergibt, wird dann als invers berechnete Jahresdifferenz in die Speichereinheit Wy eingelesen. Im Schritt (12) wird dann die Tagesdifferenz, die der Jahresdifferenz entspricht, d. h. das Produkt des Inhalts des Speicherbeschreitet die Operation zum nächsten Schritt (20) fort, in welchem die Zahl 31 in das Z-Register eingelesen wird. Es wird dann in einem Schritt (21) die Zahl 1 vom Inhalt des Speicherbereiches IVm subtrahiert und die erhaltene Differenz als neuer Inhalt in den Speicherbereich Wm eingelesen. Dann schreitet die Operation zu einem Schritt (22) fort wo zum Inhalt des Z-Registers 21 0,5 hinzu addiert wird, um den Inhalt auf eine Dezimalstelle zu runden. Der ganzzahlige Teil des gerundeten Ergebnisses wird dann in den Speicherbereich Wd als invers berechnetes Datum eingelesen.
Die invers berechnete Monatsdifferenz, die man auf diese Weise erhält, d. h. der Inhalt des Speicherbereiches WM ist die von März an gezählte Differenz. Es ergibt sich demnach, daß, wenn dieser Wert zwischen 0 und 9 liegt, der invers berechnete Monat dadurch erhalten werden kann, daß man zu diesem Wert 3 hinzu addiert Demgemäß wird in einem Schritt (23) geprüft, ob der Inhalt des Speicherbereiches IVm größer als 9 ist oder nicht Ist er gleich oder größer als 9, dann schreitet die Operation zu einem Schritt (25) fort, wo 3 zum Inhalt des Speicherbereiches IVm addiert wird und das Ergebnis dieser Addition als neuer Inhalt in den Speicherbereich WM als invers berechneter Monat eingelesen wird. Dann wird in einem Schritt (26) das Flip-Flop 22 invertiert, d. h. zurückgesetzt, da der invers berechnete Monat in dem Bereich von März bis
45
50
55
Dezember liegt. Andererseits ergibt sich, wenn der Inhalt des Speicherbereiches Wm im Schritt (23) sich als größer als 9 ergibt, daß dem Monat Januar oder Februar entspricht. Demgemäß wird in einem Schritt (24) nun die Zahl 9 vom Inhalt des Speicherbereiches Wm abgezogen und das Ergebnis dann in den Speicherbereich Wm als invers berechneter Monat eingelesen. In dem Fall, in dem die Monatsdifferenz, d. h. der Inhalt des Speicherbereiches Wm im Schritt (23) sich als 10 oder 11 Monate ergibt, entspricht dies dem Januar oder dem Februar. In diesem Fall ist es notwendig, die bezüglich der Tage-Recheneinheit 10 erwähnte Korrektur zu kompensieren, d.h. zu der im Speicherbereich Wy gespeicherten Jahresdifferenz »1« zu addieren. Demgemäß wird in einem Schritt (27) der Zustand des Flip-Flops 22 beurteilt. Ist das Flip-Flop 22 gesetzt, d. h. im Zustand »1«, so schreitet die Operation zum Schritt (29) fort, wo zum Inhalt des Speicherbereiches Wy, d. h. der Jahresdifferenz, der Wert 1 hinzu addiert wird.
Ein Wert, den man durch Addition von 1900 zur Jahresdifferenz erhält, ist das invers berechnete »entscheidende Jahr« (dominical year). Das Ergebnis dieser Berechnung wird wieder in den Speicherbereich Wy- eingeschrieben. Anderenfalls wird, wenn das Flip-Flop 22 nicht »1« ist, der Schritt (28) durchgeführt. In diesem Schritt wird dann zum Inhalt des Speicherbereiches Wy 1900 hinzu addiert, d. h. die Jahresdifferenz und die Summe desselben wird als invers berechnetes »entscheidendes Jahr« eingelesen. Auf diese Weise werden das entscheidende Jahr, die Monate und der Tag, die invers berechnet worden sind, in den Speicherbereichen Wy, WM und WD in dem W-Register 20 gespeichert. Das derart berechnete Datum wird mit den im Datumsspeicher 4 eingelesenen Datumsdaten im Schritt (30) verglichen. Wenn beide miteinander koinzident sind, dann existiert das am Eingang eingegebene Datum tatsächlich. Wenn beide miteinander nicht koinzidieren, dann ist das am Eingang eingegebene Datum unrealistisch bzw. falsch.
Das derart invers berechnete Datum gelangt bei Auftreten eines Steuersignals 14/durch die UN D-Verknüpfungsschaltung 15 an das Register 16. Die Ausgänge der Register 4 und 16 gelangen an ein exklusives ODER-Verknüpfungsglied 17, dessen Ausgang mit dem Reset-Eingang des RS-Flip-Flops 18 verbunden ist Der Vergleich des Datumsspeichers 4, d.h. der in ihm mit Hilfe der Tastatur 1 für ein bestimmtes Datum eingegebene Daten mit den invers berechneten und im Register 16 gespeicherten Daten für ein Datum wird in folgender Art und Weise ausgeführt:
Zunächst wird ein Steuersignal 14/erzeugt Dies dient als Setzsignal für das RS-Flip-Flop 18 zu einem willkürlichen Zeitpunkt vor der Erzeugung des Signals 14Ä Damit wird der Ausgang <?des RS-Flip-Flops 18 auf den logischen Wert »1« gesetzt In diesem Zustand steht nun am Ausgang des exklusiven ODER-Verknüpfungsgliedes 17 eine logische »1« und zu diesem Zeitpunkt wird dann das RS-Flip-Flop 18 so zurückgestellt, daß am Ausgang Q eine logische »0« und am Ausgang Q eine logische »1« steht Dieser Zustand entspricht der Situation, daß der Inhalt des Datumsspeichers 4 und der Inhalt des Registers 16 nicht koinzident sind. Wenn am Ausgang des exklusiven ODER-Verknüpfungsgliedes 17 eine logische »0« erscheint und an den Reset-Eingang des RS-Flip-Flops 18 gelangt, dann entsteht am Ausgang Q eine logische »1« und dieser Ausgangszustand dauert an. Dieser Zustand zeigt an, daß der Inhalt des Datumsspeichers 4 und des Registers 16 koinzident sind. Dann gelangt das Signal am Ausgang Q des RS-Flip-Flops 18 an den Steuersignalgenerator 14 und vermittelt ihm dadurch die Information, daß die Daten des am Eingang eingegebenen Datums real existieren oder nicht. Bei Empfang des Ausgangs Q führt der Steuersignalgenerator 14 eine gegebene Operation aus.
Wenn der Prozessor für diese Datumsdaten mit einer Anzeige-Einrichtung zur Darstellung einer speziellen Bezeichnung versehen ist und wenn der Ausgang Q des RS-Flip-Flops 18 eine logische »0« ist, dann nimmt ein Operator visuell wahr, daß das eingegebene Datum
!5 fehlerhaft ist. Zu diesem Zweck kann z. B. die logische »1« am Ausgang Q an Stelle der »0« am Ausgang Q benutzt werden.
Es seien zwei Fälle betrachtet; im einen sei der erste Tag des 13. Monats im Jahre 1977 und für den zweiten Fall der erste Tag des Januars 1978 im Datumsspeicher 4 gespeichert. Im Falle des ersten Tags für den 13. Monat
1977 wird von der Tage-Recheneinheit 10 eine Tagesdifferenz von 28.431 berechnet. Diese Tagesdifferenz gelangt dann an die Inversions-Recheneinheit 13 und wird dort der Inversions-Berechnung unterzogen, die den ersten Januar 1978 ergibt, welches Datum dann im Register 16 gespeichert wird. Die Kombination des exklusiven ODER-Verknüpfungsgliedes 17 und des RS-Flip-Flops 18 vergleicht nun den ersten Tag des 13.
Monats 1977 im Datumsspeicher 4 mit dem 1. Januar 1978. In diesem Fall ergibt sich am Ausgang Q des RS-Flip-Flops 18 eine logische »0«, so daß der Inhalt des Datumsspeichers 4 als unrealistisch angezeigt wird. Der Steuersignalgenerator 14 zeigt dies durch eine geeignete Anzeigevorrichtung dar und stoppt die nachfolgende Operation. Hingegen speichert im Falle des 1. Januar
1978 das Register 16 ebenfalls den invers als Datum berechneten 1. Januar 1978. Der Ausgang Q des RS-Flip-Flops 18 ist eine logische »1«, was zu der Beurteilung führt, daß der Inhalt des Datumsspeichers 4 wirklich existiert In diesem Falle läuft die normale Funktion des Steuersignalgenerators 14 so ab, daß das Ergebnis dieser Beurteilung nicht angezeigt wird und daß die Verarbeitung des eingegebenen Datums in der gewünschten Weise stattfindet
Wie im Vorhergehenden beschrieben, ergibt sich also gemäß der Erfindung, daß ein kleiner Computer bei Durchführung der beschriebenen Operation an Datumsdaten beurteilen kann, ob das Datum realistisch oder nicht ist. Der Nachteil, der darin besteht daß ein fehlerhaft eingegebenes Datum der folgenden Berechnung unterworfen wird, kann daher vermieden werden. Bei dem beschriebenen Ausführungsbeispiel war das Bezugsdatum der l.März 1900. Selbstverständlich ist man nicht auf dieses Datum begrenzt. Die Methode zur Berechnung der Anzahl der Daten und der inversen Berechnung können ebenso in Abhängigkeit von dem gewählten Bezugsdatum geändert werden. Das Register 16 kann dadurch eliminiert werden, daß man das W-Register 20 direkt zum Vergleich mit dem Inhalt eines X-Registers einsetzt, wobei die Funktion des Verknüpfungsgliedes 15 in der der Inversions-Recheneinheit 13 enthalten ist Für die Speicher 4,16,20 und 21 können auch Speicherschaltungen mit zufälligem Zugriff (Random Access Memories) verwendet werden.
Hierzu 3 Blatt Zeichnungen

Claims (3)

Patentansprüche:
1. Prozessor für ein Datum darstellende Daten mit einem ersten Speicher zur Speicherung der Daten für ein dem Prozessor eingegebenes Datum, dadurch gekennzeichnet, daß in einer Tage-Recheneinheit (10) ein vorgegebenes Bezugsdatum gespeichert ist, daß ferner ein erster weiterer Speicher (6) vorgesehen ist, in dem die durchschnittliche Anzahl von Tagen pro Jahr (365,25 Tage) gespeichert ist, daß ferner ein zweiter weiterer Speicher (7) vorgesehen ist, in dem die durchschnittliche Anzahl von Tagen pro Monat (30,6 Tage) gespeichert ist, und daß die genannte Tage-Recheneinheit (10) die Tagesdifferenz des Bezugsdatums und des eingegebenen Datums unter Einsatz .1er in den genannten weiteren Speichern (6,7) gespeicherten Werte bestimmt, und daß ferner eine Tage-Inversions-Recheneinheit (11) aus der von der Tage-Recheneinheit (10) ermittelten Tagesdifferenz durch einen gegenüber der Bildung der Tagesdifferenz aus Datumsangaben inversen und abgewandelten Algorithmus und unter Einsatz der in den genannten weiteren Speichern (6, 7) gespeicherten Werte ein durch Jahre, Monate und Tage dargestelltes Datum rückberechnet, welches wie die Tagesdifferenz die Bedeutung einer Datumsdifferenz besitzt, und daß in der Tages-lnversions-Recheneinheit (11) das Bezugsdatum und das rückberechnete Datum addiert werden, und daß ferner eine Schalteinheit (17, 18) vorgesehen ist, die das durch Addition entstehende Datum mit dem eingegebenen Datum vergleicht, wobei das Vergleichsergebnis eine Aussage liefert, ob es sich beim eingegebenen Datum um ein reales Datum handelt.
2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß der Ausgang der genannten Schalteinheit (17, 18) an einen Steuersignalgenerator (14) gelangt, der daraus Steuersignale für die weiteren Verarbeitungsschritte des Datums und/oder eine Fehloperationen-Anzeige ableitet.
3. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß das Bezugsdatum der 1. März 1900 ist.
DE2855003A 1977-12-20 1978-12-20 Prozessor für ein Datum darstellende Daten Expired DE2855003C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52153934A JPS6035701B2 (ja) 1977-12-20 1977-12-20 日付け情報処理装置

Publications (2)

Publication Number Publication Date
DE2855003A1 DE2855003A1 (de) 1979-07-12
DE2855003C2 true DE2855003C2 (de) 1983-10-27

Family

ID=15573263

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2855003A Expired DE2855003C2 (de) 1977-12-20 1978-12-20 Prozessor für ein Datum darstellende Daten

Country Status (3)

Country Link
US (1) US4233665A (de)
JP (1) JPS6035701B2 (de)
DE (1) DE2855003C2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862346A (en) * 1985-07-02 1989-08-29 Vlsi Technology, Inc. Index for a register file with update of addresses using simultaneously received current, change, test, and reload addresses
JPH0726761Y2 (ja) * 1986-10-16 1995-06-14 カシオ計算機株式会社 データ記憶装置
JPH0720634Y2 (ja) * 1986-10-16 1995-05-15 カシオ計算機株式会社 日付データ記憶装置
US5761668A (en) * 1996-03-08 1998-06-02 Adamchick; J. David Method and apparatus for converting computer software and databases for the year 2000
US5763860A (en) * 1996-12-10 1998-06-09 Denis; Diane T. Gestational calculator
US6904437B2 (en) 1998-06-22 2005-06-07 Stout, Iii Wesley Date formatting system
US6092073A (en) * 1998-09-29 2000-07-18 Coletti; Roger H. Year 2000 compliance method which overlays day and/or month fields with century data to expand single century systems to handle multiple century data
US7190795B2 (en) 2003-10-08 2007-03-13 Henry Simon Hearing adjustment appliance for electronic audio equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3813533A (en) * 1972-06-02 1974-05-28 Garrett Comtronics Corp Clock calculator
JPS522356A (en) * 1975-06-24 1977-01-10 Casio Comput Co Ltd Electronic desk calculator
JPS5319066A (en) * 1976-08-04 1978-02-21 Epson Corp Calculator with calender

Also Published As

Publication number Publication date
JPS5485654A (en) 1979-07-07
US4233665A (en) 1980-11-11
JPS6035701B2 (ja) 1985-08-16
DE2855003A1 (de) 1979-07-12

Similar Documents

Publication Publication Date Title
DE2712224A1 (de) Datenverarbeitungsanlage
DE2721319A1 (de) Einrichtung zur selbsttaetigen aenderung der prozessor/speicher-konfiguration
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE2855003C2 (de) Prozessor für ein Datum darstellende Daten
DE69131309T2 (de) Speicherdekodierungssystem für eine tragbare Datenendstation
DE3888891T2 (de) Steuersystem zum Umdrehen von Seiten mit grosser Geschwindigkeit.
DE2144685A1 (de) Fehlerkorrektursystem für ein digitales Rechenwerk mit zugeordneten Quellenregistern
DE3246432A1 (de) Signalfolge-erkennungsschaltung und diese enthaltender logischer analysator
DE3303269C2 (de)
DE2753650C2 (de) Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten
DE3485760T2 (de) Nachrichtenanzeigegeraet.
DE2554502B2 (de)
DE3340362C2 (de)
DE3525217A1 (de) Verkaufsdatenverarbeitungsgeraet
DE2233193C3 (de) Stapel-Speichersystem
DE3440680A1 (de) Verfahren und vorrichtung zur dezimaldivision
DE3435539A1 (de) Impulszaehleinrichtung
DE1774675A1 (de) Elektronisches Rechengeraet
DE3329023A1 (de) Einrichtung zum pruefen logischer schaltwerke
DE3752144T2 (de) Elektronischer Rechner
DE2158011A1 (de) Digitales Anzeigesystem
DE1549485C3 (de) Anordnung zur Division binärer Operanden ohne Rückstellung des Restes

Legal Events

Date Code Title Description
OAR Request for search filed
OB Request for examination as to novelty
OC Search report available
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee