DE2855003C2 - Prozessor für ein Datum darstellende Daten - Google Patents
Prozessor für ein Datum darstellende DatenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time 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
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)
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.
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)
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)
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 |
-
1977
- 1977-12-20 JP JP52153934A patent/JPS6035701B2/ja not_active Expired
-
1978
- 1978-12-19 US US05/971,129 patent/US4233665A/en not_active Expired - Lifetime
- 1978-12-20 DE DE2855003A patent/DE2855003C2/de not_active Expired
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 |