DE10210663A1 - Vorrichtung und Verfahren für Anzeige- und/oder Präzisionsoperationen von numerischen Werten in binären Systemen - Google Patents
Vorrichtung und Verfahren für Anzeige- und/oder Präzisionsoperationen von numerischen Werten in binären SystemenInfo
- Publication number
- DE10210663A1 DE10210663A1 DE10210663A DE10210663A DE10210663A1 DE 10210663 A1 DE10210663 A1 DE 10210663A1 DE 10210663 A DE10210663 A DE 10210663A DE 10210663 A DE10210663 A DE 10210663A DE 10210663 A1 DE10210663 A1 DE 10210663A1
- Authority
- DE
- Germany
- Prior art keywords
- integer
- value
- binary
- codes
- divisor
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/02—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
- H03M7/06—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being a positive integer different from two
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Executing Machine-Instructions (AREA)
- Document Processing Apparatus (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Ein Verfahren und/oder eine Vorrichtung zum Bestimmen von Zeichencodes für einen numerischen Wert wiedergewinnt zwei oder mehrere Zeichencodes bei jeder Iteration des Verfahren und/oder zum Darstellen und Verarbeiten von numerischen Werten in binären Systemen.
Description
Diese Anmeldung beansprucht die Priorität von den vorläu
figen Anmeldungen 60/275,323 und 60/275,324, jeweils einge
reicht am 12. März 2001.
Die vorliegende Erfindung betrifft Systeme und Verfahren
der Informationsverarbeitung.
Die Diskussion irgendeiner Arbeit, Veröffentlichung, Ware
oder Aktivität irgendwo in dieser Einreichung, in irgendwel
chen in dieser Anmeldung vorgelegten Dokumenten und in ir
gendwelchen hierin mittels Verweis aufgenommenen Dokumenten
inbegriffen, soll nicht als Eingeständnis der Erfinder aufge
faßt werden, daß eine solche Arbeit den Stand der Technik
bildet. Die Diskussion irgendeiner Aktivität, Arbeit oder
Veröffentlichung hierin ist kein Eingeständnis, daß eine sol
che Aktivität, Arbeit oder Veröffentlichung vorhanden war
oder in irgendeiner speziellen Rechtsprechung bekannt war.
Eine Aufgabe, der die frühen Entwickler von Computer
architektur gegenüberstanden, war, wie sich numerische Daten
schnell und effizient auf einem Bildschirm anzeigen lassen.
In Computersystemen sind numerische Daten typisch als eine
Darstellung der Zahl auf Zweierbasis gespeichert. Zum Bei
spiel kann die zwei Byte Ganzzahl 63119d (hierin bezeichnet d
eine dezimale Notation, h bezeichnet eine hexadezimale, b be
zeichnet eine binäre Notation) in einem Binärspeicher eines
Computers als die Binärzahl 1100000110001011b dargestellt
sein. Viele Variationen in bezug auf die Darstellung numeri
scher Werte in Binärsystemen sind bekannt, beispielsweise ei
ne Zweierkomplement-Notation.
Eine Schwierigkeit tritt auf, wenn eine Binärzahl in eine
Form für eine Bildschirmanzeige oder für Operationen in ein
anderes Basissystem, beispielsweise in ein dezimales, konver
tiert wird. In Darstellungsanwendungen muß eine Routine die
binär gespeicherte Zahl in eine Folge von Zeichencodes kon
vertieren. Bekannte und allgemein verwendete Zeichencodes um
fassen ASCII und EBCDIC. Der Baudot-Code ist ein weiteres
Beispiel für einen Code, der extensiv in Telegraphiesystemen
verwendet wurde, wobei fünf Bits 32 Zeichen kodierten. Wäh
rend unterschiedliche Darstellungscodes unterschiedliche
Probleme beim Konvertieren zwischen binär aufwerfen, ist das
Gesamtproblem das gleiche. Zur Vereinfachung konzentriert
sich die vorliegende Diskussion auf die Konversion binärer
kodierter Zahlen in ASCII, obgleich die vorliegende Erfindung
verwendet werden kann, um zwischen anderen geeigneten Kodie
rungsschemata zu konvertieren.
Eine solche Konversion ist in den meisten Computersyste
men eine prozessorintensive Aufgabe. Ein Verfahren ist, durch
Dividieren der ursprünglichen Zahl durch die höchste Potenz
von Zehn, die kleiner als sie ist, jede Dezimalstelle separat
von links zu übersetzen. Das Ganzzahlergebnis (auch als Quo
tient bezeichnet) wird dann in einer Tabelle nachgeschlagen
oder mit einem Wert kombiniert, um einen ASCII-Code zu lie
fern. Der Vorgang wird mit den Resten wiederholt, bis Zei
chencodes für alle Stellen bestimmt sind.
Ein alternatives Verfahren ist, jede Dezimalstelle von
rechts beginnend zu übersetzen, durch Dividieren der ur
sprünglichen Zahl durch 10 und unter Verwendung des Modulo-
Operators, um in einer Tabelle nachzuschauen oder mit einem
Wert zu kombinieren, um einen ASCII-Code zu bekommen, und
wiederholen. Während diese Form kürzer auszudrücken ist, sind
die zur Ausführung der Modulo-Operation notwendigen Computer
operationen im allgemeinen gleich, wenn nicht länger und kom
plizierter. Die binären arithmetischen Berechnungen, um diese
Operationen auszuführen, sind sehr prozessorintensiv. Insbe
sondere sind Divisionen von binären Zahlen, insbesondere
Gleitpunktzahlen, oft sehr langsam und prozessorintensiv.
Eine Dekodierung einer mit Vorzeichen versehenen und/oder
Gleitpunktzahl erfordert zusätzliche Schritte. Für mit Vor
zeichen versehene Zahlen wird in einem Beispiel eines Verfah
rens vom Stand der Technik das Vorzeichen von negativen Zah
len zuerst gespeichert, dann wird die Zahl in einen positiven
Wert konvertiert (was eine 2er-Komplementkonversion beinhal
ten kann), und die vorstehend beschriebene allgemeine Proze
dur wird durchgeführt. Für Gleitpunktzahlen können weitere
Schritte notwendig sein, um die korrekte Stelle des Dezimal
punkts zu bestimmen und um die Gleitpunktzahl in den korrek
ten Ganzzahlwert zu konvertieren, bevor der binäre Ganzzahl
wert in die Zeichencodes konvertiert wird. Diese Schritte va
riieren, abhängig von dem in einem speziellen System verwen
deten speziellen Gleitpunkt-Kodierungsschema.
Um nichtbinäre Zahlen in Binärsystemen zu verarbeiten,
müssen die Zahlen in eine mit der Zweierbasisdarstellung bi
närer Systeme kompatible Form konvertiert oder kodiert wer
den. Zum Beispiel kann in einem Binärspeicher eines Computers
die Zweibyte-Ganzzahl 63119d als Binärzahl 1100000110001011b
dargestellt sein. Viele Variationen zur Darstellung von Zah
len in binären Systemen sind bekannt. Gleitpunktzahlen berei
ten zusätzliche Probleme. Eine Vielzahl von binären Gleit
punktformaten sind für Computer definiert worden; eines der
gängigsten ist das von IEEE (Institute of Electrical & Elec
tronic Engineers) definierte, bekannt als IEEE 754.
Die IEEE 754 Spezifikation definiert das 64 Bit Gleit
punktformat mit drei Teilen:
- 1. Ein 11 Bit binärer Exponent unter Verwendung des "ex cess-1023"-Formats. In diesem Format wird der Exponent als vorzeichenlose binäre Ganzzahl von 0 bis 2047 dar gestellt, und man subtrahiert 1023, um den mit Vorzei chen versehenen Wert des Exponenten zu erhalten.
- 2. Eine 52 Bit Mantisse, ebenfalls eine vorzeichenlose binäre Zahl, die einen Bruchwert definiert, mit einer führenden implizierten "1".
- 3. Ein Vorzeichenbit, das das Vorzeichen der Mantisse angibt.
Eine Variation dieses Schemas verwendet 32 Bits, bei
spielsweise eine 23 Bit Mantisse mit einem Vorzeichenbit und
einen 8 Bit Exponenten (im Excess-127-Format), was 7 gültige
dezimale Stellen ergibt. Solche Gleitpunktzahlen werden
manchmal als "Reals" oder "Floats" bezeichnet: eine 32 Bit
Gleitpunktzahl wird manchmal eine "Real32" oder "Single" ge
nannt (was "einfach genauer Gleitpunktwert" andeutet), wäh
rend eine 64 Bit Gleitpunktzahl manchmal eine "Real64" oder
"Double" genannt wird (was "doppelt genauer Gleitpunktwert"
andeutet).
Mit diesen Gleitpunktzahlen können Probleme mit der Genau
igkeit auftreten. Wie mit ganzen Zahlen gibt es nur einen
endlichen Wertebereich, obwohl er ein größerer Bereich ist,
der einen "overflow" (Überlauf) oder "underflow" (Unterlauf)
erlaubt. Ein in einem System zulässiger maximaler reeller
Wert wird manchmal als "Maschinenunendlichkeit" bezeichnet.
Ein weiteres Problem ist, daß computerkodierte reelle Zahlen
eine beschränkte Genauigkeit haben. Folglich kann es in vie
len Gleitpunktrechnungen einen kleiner Fehler im Ergebnis ge
ben, da einige niedrigere Stellen wegfallen. Dies kann in den
meisten Fällen nicht merkbar sein, aber in einer mathemati
schen Analyse, die viele Berechnungen erfordert, neigen die
Fehler dazu, sich zu summieren, und können die Ergebnisse be
einflussen. Ein anderer Fehler, der bei Gleitpunktzahlen ent
stehen kann, ist der Tatsache zuzuschreiben, daß die Mantisse
als binärer Bruch ausgedrückt wird, der möglicherweise nicht
genau mit einem gewünschten Dezimalbruch übereinstimmt.
Ein in einigen Systemen verwendetes alternatives Format
ist, für reelle Werte dezimale Festpunktdarstellungen (manch
mal als skalierte Werte bezeichnet) zu erzeugen. Beispiels
weise nimmt das Kodierungsschema FOUR für alle kodierten Zah
len an, daß vier Dezimalstellen nach dem Dezimalpunkt vorhan
den sind. Alle Berechnungen werden an binären Ganzzahlen aus
geführt, ohne Wertigkeitsverlust. Jedoch bedeutet dies, daß
an einem System mit 64 Bit Ganzzahlen (Daten mit 19 Dezimal
stellen) dies in dem gegebenen Beispiel nur eine Darstellung
von 15 Stellen links vom Dezimalpunkt und vier rechts vom De
zimalpunkt erlauben würde. Ein anderes Format, das verwendet
wird, um Dezimalzahlen zu verarbeiten und einige dieser Prob
leme anzugehen, ist "Binary Coded Decimal" (BCD). In dieser
Notation werden Gruppen von 4 Bit verwendet, um jede Dezimal
ziffer von 0 bis 9 darzustellen.
In Systemen vom Stand der Technik wird eine Gleitpunkt
verarbeitung von Gleitpunktzahlen, die durch einen bekannten
Standard definiert sind, oft von einer Gleitpunkt-Einheit
(Floating Point Unit, FPU), typisch ein zur Verarbeitung von
Gleitpunktzahlen vorgesehener Block oder Bereich einer integ
rierten Schaltung, durchgeführt. In Systemen ohne FPU-
Hardware werden Gleitpunktoperationen allgemein von einer
Software durchgeführt.
Die vorliegende Erfindung in verschiedenen Ausführungsfor
men beinhaltet ein Verfahren und/oder eine Vorrichtung
und/oder eine digitale Logikschaltung zur schnelleren Bestim
mung der Zeichencodes (beispielsweise ASCII- oder EBSIDIC-
Zeichencodes) für einen binär dargestellten numerischen Wert
und das in speziellen Ausführungsformen, wobei viele der Di
visionen, die bei einer Konvertierung in Zeichencodes notwen
dig sein können, vermieden werden.
In weiteren Ausführungsformen beinhaltet die Erfindung ein
Verfahren und/oder eine Vorrichtung und/oder eine digitale
Logikschaltung zur effizienteren Verarbeitung von numerischen
Werten in binären Informationsverarbeitungssystemen, wie bei
spielsweise eine Verwendung von zwei nicht zusammenhängenden
(oder "separaten") Bitbereichen, um reelle Zahlen zu spei
chern. Diese Bereiche werden als nicht zusammenhängend be
zeichnet, da es keinen automatischen binären Übertrag in kei
ne Richtung in bezug auf die Bitbereiche gibt und da sich in
einer gegebenen Zahl jeder Teil der Zahl unabhängig vom Wert
des anderen Teils bestimmen läßt. Mit anderen Worten, der
ganzzahlige Anteil einer Dezimalzahl hängt nur vom ganzahli
gen Anteil des gespeicherten binären Werts ab. Gleichermaßen
hängt der Bruchanteil einer Dezimalzahl nur vom Bruchanteil
des gespeicherten binären Werts ab. Was ihre Speicherung in
einem Computerspeicher betrifft, so können die verschiedenen
Anteile der Zahlen in nebeneinanderliegenden Speicherplätzen
gespeichert sein. Gemäß speziellen Ausführungsformen der Er
findung ist somit eine reelle Zahl, wie hierin diskutiert,
als Ganzzahlanteil (IP) und Bruchanteil (FP) gespeichert.
Gemäß weiteren speziellen Ausführungsformen der Erfindung
reicht die "Unabhängigkeit" des IP und FP einer Zahl bis zu
den Vorzeichenbits, und sowohl der IP als auch der FP tragen
ein Vorzeichenbit. In speziellen Ausführungsformen sind die
Vorzeichenbits am IP und FP für beide Anteile immer iden
tisch. Wie hierin verwendet, kann eine solche Zahl als
N.IP.FP bezeichnet werden.
Der IP gemäß speziellen Ausführungsformen der Erfindung
ist als eine herkömmliche binäre Ganzzahl dargestellt. In
speziellen Ausführungsformen ist ein Vorzeichenbit als erstes
Bit mit enthalten, wobei ein Zweierkomplement oder eine ande
re Notation verwendet wird, um negative Zahlen darzustellen.
Der FP gemäß speziellen Ausführungsformen der Erfindung ist
ebenfalls als eine herkömmliche binäre Ganzzahl dargestellt.
In speziellen Ausführungsformen ist ebenfalls ein Vorzeichen
als erstes Bit mit enthalten, wobei ein Zweierkomplement oder
eine andere Notation verwendet wird, um negative Zahlen dar
zustellen. Jedoch ist der Bruchanteil der Dezimalzahl mit
10Skalierfaktor multipliziert, um sicherzustellen, daß alle
Bits, die für die Genauigkeit von Bedeutung sind, innerhalb
der Ganzzahl liegen. Zum Beispiel wird in einem System mit
Skalierfaktor = 9 der Bruchanteil einer Dezimalzahl mit 109
multipliziert, bevor er im FP gespeichert wird, wie in der
folgenden Tabelle gezeigt ist:
Gemäß speziellen Ausführungsformen der Erfindung ist der
Skalierfaktor eine gewählte Potenz von 10 und gibt die von
dem System unterstützte Anzahl der Dezimalbruchstellen an.
"Skala" wird hierin manchmal verwendet, um 10Skalierfaktor an
zugeben. In einer beispielhaften Ausführungsform werden
64 Bits für den Ganzzahlanteil und 32 Bits für den Dezimalan
teil verwendet, somit erfordert eine einzige FP 96 Bit Spei
cherplatz. Wie hierin verwendet, kann eine solche Zahl als
r96 (für reell-96Bit) bezeichnet werden. In speziellen Aus
führungsformen verwendet eine Zahlendarstellung gemäß der
vorliegenden Erfindung 18 Dezimalstellen im ganzzahligen Teil
der Zahl und 8 Stellen im Dezimalanteil, was einigen Imple
mentationen erlaubt, eingebaute mathematische Funktionen ver
schiedener CPUs zu verwenden.
Gemäß speziellen Ausführungsformen der vorliegenden Erfin
dung werden Überträge zwischen dem IP- und dem FP-Anteil ei
ner Zahl nicht automatisch durchgeführt und unterschiedliche
numerische Operatoren führen Überträge zwischen dem IP und
dem FP-Anteil explizit und mit geeigneten Variationen für je
de Operation durch.
Gemäß speziellen Ausführungsformen ist der binäre Spei
cherplatz für einen FP in der Lage, eine Zahl zu halten, die
größer als der zulässige maximale FP ist. In einem System mit
zum Beispiel 8 Dezimalstellen im FP-Anteil ist der größte FP,
der dargestellt werden kann, .99999999d. Um diese Zahl zu
speichern, sind für den binären Wert 27 Bit
(101111101011110000011111111) plus ein Vorzeichenbit, insge
samt 28 Bit, erforderlich. Jedoch ist die größte Dezimalzahl,
die in 27 Bit gespeichert werden kann, 2.18103807. Somit wird
für viele mathematische Operationen die FP-Anteil-Resultante
(S.FP) mit dem MAX.FP (z. B. .99999999d) verglichen, und,
falls darüber, eine Aktivierung eines Übertragbit bewirken
und durch den MAX.FP erniedrigt werden.
Die Erfindung und verschiedene spezielle Aspekte und Aus
führungsformen werden mit Bezug auf die folgenden Zeichnungen
und detaillierte Beschreibung besser verständlich. Zum Zwecke
der Klarheit bezieht sich diese Diskussion auf Vorrichtungen,
Verfahren und Konzepte in Form von speziellen Beispielen. Je
doch können sich die Erfindung und Aspekte davon auf eine
Vielzahl von Vorrichtungs- und Systemtypen anwenden lassen.
Es ist daher beabsichtigt, daß die Erfindung nicht beschränkt
ist, außer wie in den angefügten Ansprüchen bestimmt ist. Es
ist auf dem Fachgebiet gut bekannt, daß logische Systeme und
Verfahren wie hierin beschrieben eine Vielzahl von unter
schiedlichen Komponenten und unterschiedlichen Funktionen in
modularer Weise umfassen können. Verschiedene Ausführungs
formen der Erfindung können verschiedene Zusammenstellungen
von Elementen und Funktionen umfassen und können verschiedene
Funktionen als Teile verschiedener Elemente gruppieren.
Die funktionalen Aspekte der Erfindung, die auf einem Com
puter implementiert sind, können, wie aus den hierin gegebe
nen Unterrichtungen verständlich wird, unter Verwendung ir
gendeiner geeigneten Implementationsumgebung oder Program
miersprache, wie beispielsweise C, C++, Cobol, Pascal, Java,
Java-script, Assembler oder Maschinencodeprogrammierung, kun
denspezifischer Logikschaltungen usw., implementiert oder
ausgeführt sein. Alle hierin zitierten Verweise, Veröffentli
chungen, Patente und Patentanmeldungen sind hiermit durch
Verweis in ihrer Gesamtheit für alle Zwecke mit aufgenommen.
Fig. 1 veranschaulicht ein beispielhaftes Verfahren gemäß
speziellen Ausführungsformen der Erfindung.
Fig. 2 veranschaulicht ein alternatives Verfahren in eini
gen Details gemäß speziellen Ausführungsformen der Erfindung.
Fig. 3 veranschaulicht Details eines beispielhaften Sys
tementwicklungsverfahrens gemäß speziellen Ausführungsformen
der Erfindung.
Fig. 4 veranschaulicht einen Teil einer beispielhaften
Implementation eines Programmcodes gemäß speziellen Ausfüh
rungsformen der Erfindung.
Fig. 5 veranschaulicht einen Teil einer beispielhaften
Implementation eines Programmcodes gemäß speziellen Ausfüh
rungsformen der Erfindung.
Fig. 6 veranschaulicht ein beispielhaftes Verfahren gemäß
speziellen Ausführungsformen der Erfindung.
Fig. 7 veranschaulicht eine beispielhafte Architektur ei
nes beispielhaften Informationsverarbeitungssystems, die für
verschiedene spezielle Ausführungsformen der Erfindung rele
vant ist.
Fig. 8 ist ein Blockdiagramm, das ein repräsentatives Bei
spiel einer Logikvorrichtung zeigt, in welcher verschiedene
Aspekte der vorliegenden Erfindung verkörpert sein können.
In einer Ausführungsform kann die Erfindung als ein auf
einem Computer implementiertes Verfahren verstanden werden,
das binäre ganzzahlige Werte in Dezimalwerte konvertiert, un
ter Verwendung eines Divisors, der kleiner als der ursprüng
liche Wert ist, aber die Formel (10^N)^P erfüllt, wobei N ei
ne ganze Zahl größer als 1 ist und P eine ganze Zahl größer
als oder gleich 1 ist. N, wie nachstehend weiter beschrieben
wird, ist gemäß speziellen Ausführungsformen der vorliegenden
Erfindung eine vorab gewählte oder vorgegebene Zahl und
stellt die Anzahl der Dezimalstellen dar, die während jeder
Iteration der Routine bestimmt werden. P wird bestimmt, wenn
ein numerischer Wert dekodiert wird, und wird als die maxima
le Zahl gewählt, die einen Wert von (10^N)^P liefert, der
kleiner als der absolute Wert der ursprünglichen Zahl ist.
Während in dieser Diskussion durchwegs 10 als ein beispiel
hafter Basiswert verwendet wird, können andere Ausführungs
formen einen anderen Basiswert verwenden. Die vorstehende
Gleichung kann als (Basis^N)^P verstanden werden.
Ein spezielles Beispiel eines allgemeinen Verfahrens, das
zweistellige Zeichencodes (N = 2) nach jeder Division bestimmt,
ist unter Verwendung von 63179 nachstehend gegeben:
- 1. Bestimme den größten (10^N)^P-Wert, der kleiner als die Zahl = 10000 ist.
- 2. 63179/10000 hat als Ganzzahlergebnis 06 (schlage diesen numerischen Wert nach) → 30h 36h.
- 3. Multipliziere das Ganzzahlergebnis (06) und den Divisor (10000) = 6000.
- 4. Subtrahiere diese Zahl von der ursprünglichen Zahl (63179-60000) = 3179.
- 5. Wiederhole die Schritte 1 bis 4, bis alle Stellen deko diert sind, wie folgt:
- 6. Bestimme den größten (10^N)^P-Wert, der kleiner als die Zahl (oder setzte P = P - 1) = 100 ist.
- 7. 3179/100 hat als Ganzzahlergebnis 31 → 33h31h.
- 8. Subtrahiere diese Zahl von der ursprünglichen Zahl (3179-3100 = 79).
- 9. STOP, wenn das Subtraktionsergebnis kleiner als (10^N) (oder wenn P = 1) ist und schlage das Endergebnis nach: 79 → 37h39h.
- 10. Gebe die resultierende Zeichencodes zurück (falls ge wünscht, lösche an einer Stelle führende Nullen): 30h36h33h31h37h39h.
Alternativ kann dieses Verfahren, mit N = 2, wie folgt aus
geführt oder ausgedrückt werden:
- 1. Setze n = 63179.
- 2. nmodulo(10^N) = 79→37h39 h.
- 3. Setze n = n/100 = 631.
- 4. Wiederhole Schritte 2 und 3 bis n<(10^N).
- 5. Schlage Endergebnis nach: 6→36 h.
- 6. Verknüpfe die resultierenden Zeichencodes: 36h33h31h37h39h.
Fig. 1 veranschaulicht ein beispielhaftes Verfahren gemäß
speziellen Ausführungsformen der Erfindung. Fig. 2 veran
schaulicht ein alternatives Verfahren in einigen Details ge
mäß speziellen Ausführungsformen der Erfindung. Wie in den
Figuren gezeigt, kann die Erfindung in einem Logikverfahren
verkörpert sein, das für eine Implementation durch ein ent
sprechend konfiguriertes Informationsverarbeitungssystem,
Computersysteme für allgemeine Zwecke und Informationsver
arbeitungsbildschirme und -subsysteme inbegriffen, geeignet
ist.
Dieser Aspekt der Erfindung ist in Form von allgemeinen
Ausführungsformen beschrieben worden, die als eine vollstän
dige und komplette Beschreibung betrachtet werden, die aus
reicht, um Fachleuten die Herstellung und Verwendung der Er
findung zu ermöglichen. Was folgt, sind Beschreibungen von
beispielhaften Systemen und Verfahren, die mit verschiedenen
Aspekten der vorliegenden Erfindung verbunden sind oder diese
verkörpern können. Die folgende Diskussion kann auch unabhän
gige innovative Ausführungsformen der Erfindung beinhalten.
Ein Verfahren oder Mechanismus zur Ausführung der vorste
hend beschriebenen Schritte verwendet eine geeignet bemessene
Tabelle (Nachschlagtabelle), die alle numerischen Werte klei
ner als 10^N mit den entsprechenden Zeichencodes (allgemein N
Codes in jedem Tabelleneintrag) verknüpft. Eine beispielhafte
Tabelle kann die Form haben:
Zu beachten ist, daß die unkomprimierte Größe dieser Ta
belle 100 Speicherplätze mal zwei Bytes oder 200 Bytes ist.
Allgemeiner gesagt, die unkomprimierte Größe einer Zehnerba
sis-Tabelle, wie vorstehend diskutiert, ist N*(10^N). Unter
Verwendung eines ähnlichen Verfahrens könnten also drei von
fünf Zeichencodes bei jedem Nachschlagen in der Tabelle her
aus gesucht werden, was jeweils Tabellen von 3000 (ungefähr
3K) oder 500000 (ungefähr 0,5M) Bytes erfordert. Ein einzel
ner repräsentativer Eintrag für eine Tabelle mit N = 3 ist:
Zu beachten ist, daß in jeder dieser beispielhaften Tabel
len zu erkennen ist, daß die Tabellen eindimensionale Tabel
len sind, wobei der zu dekodierende numerische Wert als Index
für die Tabelleneinträge verwendet wird. Während dies eine
Ausführungsform der vorliegenden Erfindung repräsentiert,
kann die Erfindung, wenn gewünscht, andere Tabellenformate
verwenden, einschließlich Tabellenformate, bei welchen der
Index nicht einfach der zu dekodierende numerische Wert ist.
Wenn größere Zahlen für eine Bildschirmanzeige dekodiert wer
den, verringern große Tabellen drastisch die Anzahl der er
forderlichen binären mathematischen Schritte. Aus den hierin
gegebenen Unterrichtungen wird verständlich, daß solche Ta
bellen ein großes Maß an Redundanz haben und somit in spe
ziellen Ausführungsformen gemäß verschiedenen Kompressions
verfahren komprimiert werden können. Jedoch wird in einer
allgemeinen Ausführungsform die vorliegende Erfindung verwen
det, um eine Konversion von numerischen Werten in Bildschirm
codes zu beschleunigen, und verwendet somit eine unkompri
mierte Tabelle.
Fig. 3 veranschaulicht Details eines beispielhaften Sys
tementwicklungsverfahrens gemäß speziellen Ausführungsformen
der Erfindung. Wie in der Figur gezeigt, wird in diesem Ver
fahren eine Tabelle in einem Speicher entsprechend einer ver
fügbaren oder gewünschten Speichergröße für die Tabelle zuge
wiesen, und die Tabelle wird dann verwendet, um N Zeichenco
des eines numerischen Werts zu dekodieren.
Gemäß speziellen Ausführungsformen kann die vorliegende
Erfindung negative Zahlen entsprechend dem zugrundeliegenden
Schema zum Speichern von negativen Zahlen auf verschiedene
Weise verarbeiten. Ein direktes Verfahren zur Verarbeitung
negativer Zahlen beinhaltet Erinnern des Vorzeichens der Zahl
und Konvertieren der Zahl in einen positiven Wert vor dem
Nachschlagen in einer Tabelle unter Verwendung der Zahl. Ge
mäß weiteren speziellen Ausführungsformen der vorliegenden
Erfindung werden Gleitpunktzahlen dadurch dekodiert, daß zu
erst die Gleitpunktzahl in eine ganze Zahl konvertiert wird,
bevor sie in Bildschirmcodes konvertiert wird.
Gemäß weiteren speziellen Ausführungsformen der vorliegen
den Erfindung kann eine Konversion in einen Bildschirmcode
vorteilhaft mit dem nachstehend beschriebenen innovativen
Gleitpunktkodierungsschema verwendet werden. In einem solchen
Dekodierungsschema ist eine Konversion in Bildschirmcodes
vereinfacht, da jede gespeicherte Gleitpunktzahl aufgeteilt
gespeichert ist, mit separaten Speicherbereichen für den
Ganzzahlanteil und den Bruchanteil der Zahl. Mit diesem Sche
ma können der Ganzzahlanteil und der Bruchanteil separat in
Bildschirmcodes, wie vorstehend beschrieben, konvertiert wer
den.
Als ein sehr spezielles Beispiel eines Verfahrens gemäß
speziellen Ausführungsformen der vorliegenden Erfindung zum
Konvertieren eines IP und eines FP separat in Bildschirmcodes
sind in Fig. 4 und Fig. 5 beispielhafte C++-Code-Listings be
reitgestellt.
In einer Ausführungsform kann die Erfindung als ein compu
terimplementiertes Verfahren zum Speichern von numerischen
Werten und zur Ausführung von Operationen an numerischen Wer
ten verstanden werden. Fig. 6 veranschaulicht ein beispiel
haftes Verfahren gemäß speziellen Ausführungsformen der Er
findung.
Gemäß speziellen Ausführungsformen stellt die vorliegende
Erfindung spezielle Routinen für verschiedene mathematische
Operatoren bereit, einschließlich optionaler Kurzverfahren
gemäß speziellen Ausführungsformen. Wie hierin verwendet, ist
eine Notation für die Anteile einer reellen Zahl A A.IP und
A.FP. Die Ergebnisse einer Funktion F(A,B) werden als S.IP
und S.FP oder S.IP.FP geschrieben.
Eine Addition von zwei Zahlen, zum Beispiel A und B, geht
im allgemeinen wie folgt vor sich. Zuerst, wenn eine Zahl ne
gativ ist, die andere aber nicht, springe zu einer Subtrakti
onsoperation, wie nachstehend beschrieben. Dann, wenn beide
Zahlen negativ sind, speichere diese Tatsache, konvertiere
die Zahlen in positive (d. h. verwende die Absolutwerte der
Zahlen) und führe die Addition wie folgt aus:
Eine Subtraktion gemäß speziellen Ausführungsformen der
Erfindung ist als Vereinigung zweier Zahlen, die unterschied
liche Vorzeichen haben, definiert. Mit A als die positive
Zahl und B als die negative Zahl wird anschließend der Abso
lutwert von B für alle Vergleichsoperationen verwendet und
die Prozedur arbeitet wie nachstehend angegeben. Gemäß weite
ren speziellen Ausführungsformen der Erfindung kann eine An
zahl von Kurzverfahren, wie angegeben, vorgesehen sein.
Multiplikation und Division gemäß speziellen Ausführungs
formen der vorliegenden Erfindung werden durchgeführt, indem
die Operanden in skalierte Zahlen konvertiert werden, die ge
wünschte Funktion F() an den skalierten Zahlen unter Verwen
dung von skalierter Arithmetik ausgeführt wird und dann das
skalierte Ergebnis zurück in das N.ip.fp-Format konvertiert
wird. Gemäß speziellen Ausführungsformen der vorliegenden Er
findung kann der für die skalierte Zahl verwendete Skalier
faktor der gleiche Skalierfaktor sein, der für den FP-Anteil
der R.ip.fp-Zahl verwendet wird, was eine Anzahl von Konver
sionsoperationen vereinfacht. (Gemäß alternativen Ausfüh
rungsformen der Erfindung kann ein anderer Skalierfaktor ver
wendet werden, was eine Skalierung sowohl des IP- als auch
des FP-Teils erfordert, um eine Zahl Askaliert zu berechnen.)
Die Prozedur arbeitet allgemein wie folgt (wobei der Ska
lierfaktor von Sskaliert, Askaliert und Bskaliert gleich dem
Skalierfaktor gesetzt ist, der in den FP-Anteilen der
r.ip.fp-Zahl verwendet wird.
- 1. Askaliert = A.IP.10Skalierfaktor + A.FP
- 2. Bskaliert = B.IP.10Skalierfaktor + B.FP
- 3. Sskaliert = F(Askaliert, Bskaliert)
- 4. S.IP = Ganzzahl(Sskaliert/10Skalierfaktor)
- 5. S.FP = Sskaliert - S.IP.10Skalierfaktor
Gemäß speziellen Ausführungsformen der vorliegenden Erfin
dung kann eine Anzahl von Kurzverfahren verwendet werden, um
die Geschwindigkeit zu erhöhen. Diese Kurzverfahren werden in
der Tat viele Anwendungen in der Praxis wesentlich beschleu
nigen.
Runden gemäß speziellen Ausführungsformen der Erfindung
ist sehr einfach. Bei der Durchführung einer Rundung setze
IP = IP+1, falls der Wert von FP größer als ½ von
10Skalierfaktor ist. Ansonsten ändere IP nicht. Setze FP auf
Null.
Wie vorstehend diskutiert, wird dieser Aspekt der Erfin
dung vorteilhaft mit dem vorstehend beschriebenen Verfahren
zum Konvertieren numerischer Daten in Bildschirmcodes verwen
det, da mit separat gespeichertem IP und FP der Ganzzahlan
teil und der Bruchanteil separat in Bildschirmcodes konver
tiert werden können.
Aus den hierin bereitgestellten Unterrichtungen wird ver
ständlich, daß ein Verfahren gemäß der vorliegenden Erfindung
auf verschiedene Weise in Computersystemen implementiert sein
kann. In einer Ausführung können computerverständliche Logik
anweisungen, die mit der vorliegenden Erfindung in Beziehung
stehen, in einem Anwendungsprogramm enthalten sein und/oder
können von einem Anwendungsprogramm während des Startens oder
der Ausführung aufgerufen werden. Zu beachten ist, daß gemäß
weiteren speziellen Ausführungsformen der vorliegenden Erfin
dung ein numerisches Kodierungsschema oder Bildschirmanzeige
schema, wie hierin beschrieben, in einem Betriebssystem (OS)
einer Computervorrichtung implementiert sein kann und dadurch
irgendwelchen anderen Anwendungsprogrammen, die in dem Be
triebssystem laufen, verfügbar gemacht werden kann. Somit
kann gemäß speziellen Ausführungsformen der vorliegenden Er
findung ein Betriebssystem während des OS-Startens eine Da
tenschablone und Operatorroutinen erzeugen. Aus den hierin
gegebenen Unterrichtungen wird ferner verständlich, daß Lo
gikroutinen gemäß der vorliegenden Erfindung in einem Logik
befehlcompiler oder Logikbefehlinterpreter enthalten sein
können und/oder anderen mit einer solchen Programmierumgebung
verknüpften Dateien.
Wie hierin diskutiert, kann gemäß speziellen Ausführungs
formen die vorliegende Erfindung in verschiedenen Arten von
Informationsverarbeitungssystemen verkörpert sein, die Perso
nal Digital Assistant (PDA), Mobiltelefone, Fernseh-
Settopsysteme oder Kabelsystemschnittstellen, Spielzeug,
Haushaltsgeräte mit Informationsverarbeitungsfähigkeiten,
wissenschaftliche und diagnostische Systeme und maschinelle
oder industrielle Systeme mit Informationsverarbeitungsfähig
keiten umfassen können. Typisch wird in solchen Systemen eine
Informationsverarbeitung von binären Logikschaltungen durch
geführt. Gemäß weiteren speziellen Ausführungsformen kann die
vorliegende Erfindung sowohl in einem Informationsverarbei
tungssystem oder in Schaltungen oder Komponenten eines Infor
mationsverarbeitungssystems verkörpert sein, die gemäß der
hierin gegebenen Beschreibung arbeiten.
Gemäß weiteren speziellen Ausführungsformen kann die Er
findung als ein oder mehrere Sätze von Befehlen und/oder Da
ten verkörpert sein, die verwendet werden, um den Betrieb ei
nes Informationsverarbeitungssystems zu programmieren oder zu
führen oder zu beeinflussen. Wie auf dem Fachgebiet bekannt
ist, können diese Sätze von Befehlen und/oder Daten, auf ei
nem Speichermedium wie beispielsweise Platte, Diskette, Fest
platte, CD-ROM, Band, ROM, EPROM, ASIC, PLD usw. gespeichert
oder aufgezeichnet, an Benutzer verteilt werden, und gemäß
speziellen Ausführungsformen kann die Erfindung als ein sol
ches Medium verkörpert sein, auf dem Daten und/oder Befehle
gespeichert sind, die, in ein geeignet konfiguriertes Infor
mationssystem geladen, bewirken, daß das System gemäß der
hierin gegebenen Beschreibung arbeitet.
Wie ferner auf dem Fachgebiet bekannt ist, können Befehls-
und/oder Datensätze über ein Kommunikationsmedium (beispiels
weise das Internet, ein lokales Netz, ein Funknetz, eine Te
lefonleitung, ein Kabelfernsehsystem usw.) von einer entfernt
gelegenen Datenspeicherstation (beispielsweise von einem Ser
ver) an ein Informationsverarbeitungssystem übertragen werden
und, in ein geeignet konfiguriertes Informationssystem gela
den, das System dazu veranlassen, gemäß der hierin gegebenen
Beschreibung zu arbeiten.
Fig. 7 veranschaulicht eine beispielhafte Architektur ei
nes beispielhaften Informationsverarbeitungssystems, die für
verschiedene spezielle Ausführungsformen der vorliegenden Er
findung relevant ist. Wie für Fachleute und aus den hierin
gegebenen Unterrichtungen verständlich ist, ist die allgemei
ne Organisation eines Systems 800, wie in Fig. 7 gezeigt, re
präsentativ für verschiedene Informationssysteme, von "Compu
ter auf einem Chip"-Schaltungen in einem Haushaltsgerät oder
Spielzeug bis zu Supercomputersystemen und verteilten Syste
men. In einigen Informationsverarbeitungssystemen können die
in Fig. 7 gezeigten verschiedenen Komponenten eigene Compu
terchips oder eigene Schaltungsbereiche auf einem Computer
chip sein, während in anderen Informationsverarbeitungs
systemen einige oder alle der in Fig. 7 gezeigten Funktionen
von gemeinschaftlich genutzten Schaltungen ausgeführt werden
oder als Software implementiert sind. Einige Systeme werden
nicht alle der in Fig. 7 gezeigten Komponenten haben und an
dere Systeme werden zusätzliche Kernkomponeten haben. Fig. 7
stellt nicht die einzige Gerätearchitektur dar, auf welcher
die vorliegende Erfindung ausgeführt werden kann und selbst
verständlich ist die vorliegende Erfindung auf eine Vielzahl
von Typen von Informationsverarbeitungsgeräten anwendbar.
Ein Informationsverarbeitungssystem weist typisch einen
oder mehrere Prozessoren auf, wie beispielsweise 801. Der
Prozessor 801 ist allgemein dadurch gekennzeichnet, daß er in
der Lage ist, unterschiedliche Logikoperationen an Daten aus
zuführen, wobei die Logikoperationen durch einen oder mehre
ren Befehle gewählt oder spezifiziert sind. Im Beispiel eines
Personalcomputersystems oder einer Workstation kann der Pro
zessor 801 irgendeinen aus der Reihe der bekannten Mikropro
zessoren repräsentieren, die von Firmen wie Intel, AMD, Zilog
und Motorola hergestellt werden. Der Prozessor 801 kann auch
einen Schaltungsabschnitt repräsentieren, der als Prozessor
in einer integrierten Schaltung, beispielsweise ASIC oder
PLD, konfiguriert ist.
Ein Prozessor 801 kann zu bestimmten Zeiten mit anderen
Informationsverarbeitungsschaltungen (die ebenfalls Prozesso
ren sein können oder nicht) zusammenarbeiten, die spezielle
Fähigkeiten haben können. Diese Schaltungen können sich au
ßerhalb des Prozessors oder innerhalb des Prozessors befin
den. Als ein Beispiel zeigt Fig. 7 eine Gleitpunkteinheit
(FPU) 802 und ein 3D-Graphik-Modul 804. Um seinen Betriebsab
lauf zu erleichtern, kann ein Prozessor 801 auch eine Reihe
von Strukturen haben, beispielsweise einen Satz von internen
Registern 806 und/oder eine arithmetisch-logische Einheit
(ALU) 808. In einigen Prozessoren befinden sich diese Struk
turen innerhalb der Prozessorschaltung.
In den meisten Informationsverarbeitungssystemen kommuni
zieren verschiedene Module über einen oder mehrere Kommunika
tionspfade oder Busse mit anderen Modulen. Fig. 7 zeigt einen
repräsentativen Systembus 810 und einen separaten Hilfsbus
812. Die dargestellten Busse können Signalkanäle auf einer
integrierten Schaltung, Kommunikationsverbindungen auf einer
gedruckten Schaltkarte, eine Verbindung zwischen zwei oder
mehreren gedruckten Schaltkarten oder eine Backplane oder ir
gendwelche andere von den Modulen zum Austausch von Daten o
der Steuersignalen verwendete Kanäle repräsentieren.
In verschiedenen Informationsverarbeitungssystemen können
separate Module solche Dinge wie Arbeitsspeicher 820, ein o
der mehrere Speichersysteme 830, eine oder mehrere Eingabe
schnittstellen 840, eine oder mehrere Ausgabeschnittstellen
850 umfassen. Einige Informationsverarbeitungssysteme können
auch eine Kommunikationsschnittstelle (wie eine Netzschnitt
stelle oder ein Modem) 860 zur Kommunikation mit anderen Com
putersystemen, beispielsweise über ein Netz, aufweisen. Diese
Module sind in Fig. 7 gezeigt, die allgemein Aspekte eines
Computersystems repräsentieren.
In typischen Informationsverarbeitungssystemen ist der Ar
beitsspeicher 820 ein Typ eines Speichers mit direktem
Zugriff (RAM, Random Access Memory), auf den der Prozessor
801 und möglicherweise andere Prozessoren schnell zugreifen
können. In Computern für allgemeine Zwecke und in anderen
Computersystemen enthält ein solcher Arbeitsspeicher während
des Betriebs Daten und Befehle für einen oder mehrere Prozes
se 822, einschließlich Betriebssystemprozesse. Jeder Prozeß
stellt allgemein ein Ausführungsprogramm oder eine Programm
datei dar. Der Arbeitsspeicher 820 kann auch eine oder mehre
re Datenstrukturen 824 enthalten, die mit speziellen Prozes
sen in Verbindung stehen können oder einer gemeinschaftlichen
Nutzung durch andere Prozesse oder durch das ganzen System
unterliegen können. Diese Datenstrukturen können Datentabel
len oder irgendwelche anderen Datenstrukturen umfassen, die
in digitalen Speichern dargestellt werden können. Daher ist
auf dem Fachgebiet in vielen für allgemeine Zwecke bestimmten
Informationsverarbeitungssystemen (beispielsweise Personal
computer) unter einem Arbeitsspeicher 820 zu verstehen, daß
dieser residente Teile eines Betriebssystems und/oder ver
schiedene Anwendungssysteme und/oder Dateien und/oder andere
Logikmodule oder digitale Daten enthält.
Wie Fachleuten bekannt ist, weist ein Informationsver
arbeitungssystem, das ein Typ eines Computersystems für all
gemeine Zwecke ist, ferner ein Betriebssystem und mindestens
ein Anwendungsprogramm auf. Das Betriebssystem ist ein Satz
von Logikbefehlen, die den Betrieb des Computersystems und
die Zuteilung von Betriebsmitteln steuern. Das Anwendungspro
gramm ist ein Satz von Logikbefehlen (möglicherweise auch Da
ten umfassend), um von dem Benutzer gewünschte Aufgaben
durchzuführen. Während des Betriebs können beide in einem
Speichersystem, wie beispielsweise 820, resident sein.
Ein Speicher 830 ist gezeigt, um andere, normalerweise
Langzeit-Datenspeicherung (auch "nicht flüchtige" genannt),
zu repräsentieren. In für allgemeine Zwecke bestimmten Compu
tern umfaßt dieser typisch ein oder mehrere Plattensysteme
(wie Festplattenlaufwerke, Diskettenlaufwerke, CD-ROMs usw.)
und kann auch eine Reihe von anderen Speichervorrichtungen
umfassen. Der Speicher 830 kann verwendet werden, um den Ar
beitsspeicher 820 durch eine Reihe von bekannten Pagingtech
niken zu ergänzen. Der Speicher 830 kann auch entfernt gele
gene, über ein Netz verfügbare Speichersysteme aufweisen.
Insbesondere in Handgeräten kann der Speicher 830 einzig und
allein aus einem Nurlesespeicher (ROM) bestehen, der zur
Speicherung von ausführbaren Komponenten des Systems verwen
det wird. Abhängig von speziellen Implementationen kann 830
entweder Speichersysteme, die ein Teil des Computersystems
800 sind, oder eine Schnittstelle zu externen Speichersyste
men repräsentieren.
Die Eingabeschnittstellen 840 können Schaltungen, Vorrich
tungen und/oder Logikbefehle repräsentieren, die eine Video-,
Audio-, Tastatur-, Pointer- oder andere Eingabe in ein Compu
tersystem bereitstellen können. Typische Eingabevorrichtungen
umfassen solche Dinge wie Tastatur oder Keypad, berührungs
empfindlicher Bildschirm, Maus, Mikrophon, Kamera, Umgebungs
meßwertaufnehmer (z. B. Thermostat oder Bewegungsmelder) usw.
Die Eingabeschnittstellen 840 zusammen mit anderen möglichen
Modulen im Computersystem führen Aufgaben durch, die mit der
Übersetzung externer Daten (wie beispielsweise Tastenanschlä
ge) in die entsprechenden kodierten Daten (typisch binäre Da
ten) verbunden sind. Diese Übersetzungsaufgaben können mehre
re Schritte beinhalten, die in verschiedenen Teilen eines
Computersystems durchgeführt werden. Abhängig von speziellen
Implementationen kann 840 Eingabevorrichtungen und dazugehö
rige Schnittstellenlogik oder nur Schnittstellenlogik für
spezielle Eingabevorrichtungen repräsentieren.
Die Ausgabeschnittstellen 850 repräsentieren Schaltungen,
Vorrichtungen und/oder Befehle, die eine Video-, Audio-,
Druck- oder andere Ausgabe aus einem Computersystem bereit
stellen können, und können auch wirkliche Ausgabevorrichtun
gen repräsentieren. Typische Ausgabevorrichtungen umfassen
einen Bildschirm, einen Drucker, einen Lautsprecher usw. Eine
Ausgabe kann auch in Form von Steuersignalen an eine externe
Maschine, wie beispielsweise an einen Motor, Fertigungsrobo
ter oder eine andere computergesteuerte Vorrichtung, sein.
Die Ausgabeschnittstellen 850 zusammen mit möglichen anderen
Modulen im Computersystem führen Aufgaben durch, die mit der
Übersetzung von computerkodierten Daten (typisch binären Da
ten) in die geeignete Form zur Ausgabe verbunden sind. Diese
Übersetzungsaufgaben können mehrere Schritte beinhalten, die
in verschiedenen Teilen eines Computersystems durchgeführt
werden. Eine Bildschirmanzeige von numerischen Daten zum Bei
spiel erfordert typisch eine Konversion von binär kodierten
numerischen Werten in eine Folge von Zeichencodes. Diese Zei
chencodes werden dann von Bildschirmtreiber-Schaltungen wei
ter übersetzt, um die elektrischen Signale zu erzeugen, die
erforderlich sind, um die verschiedenen Bildpunkte eines CRT-
oder LCD-Bildschirms anzuregen.
Die Kommunikationsschnittstelle 860 repräsentiert Schal
tungen, Vorrichtungen und/oder Befehle, die einem Computer
system ermöglichen, beispielsweise über eine Telefonverbin
dung oder über das weltweite Internet mit anderen Informati
onsverarbeitungssystemen zu kommunizieren.
Gemäß den Praktiken von Fachleuten der Computerpro
grammierung ist die Erfindung gemäß speziellen Ausführungs
formen hierin mit Bezug auf symbolische Darstellungen von O
perationen beschrieben, die von einem Informationsverarbei
tungssystem durchgeführt werden. Solche Operationen werden
manchmal als computerausgeführt oder prozessorausgeführt be
zeichnet. Es ist ersichtlich, daß die Operationen, die symbo
lisch dargestellt sind, die Verarbeitung von elektrischen
Signalen, die Datenbits darstellen, durch eine CPU oder eine
andere Logikschaltung und das Halten von Datenbits in Spei
cherplätzen in einem Speichersystem sowie andere Verarbeitung
von Signalen beinhalten. Die Speicherplätze, wo Datenbits
gehalten werden, sind physische Plätze, die besondere elekt
rische, magnetische, optische oder organische Eigenschaften
entsprechend den Datenbits haben.
Somit wird aus den hierin gegebenen Unterrichtungen ver
ständlich, daß die vorliegende Erfindung gemäß speziellen
Ausführungsformen in einem Informationsverarbeitungssystem
und/oder in unterschiedlichen separaten Komponenten eines In
formationsverarbeitungssystems verkörpert sein kann.
Fig. 8 ist ein Blockdiagramm, das ein repräsentatives Bei
spiel für eine Logikvorrichtung zeigt, in welcher verschiede
ne Aspekte der vorliegenden Erfindung verkörpert sein können.
Die Erfindung kann in Hardware und/oder Software implemen
tiert sein. Die Erfindung kann in einem festen Medium oder
einer übertragbaren Programmkomponente verkörpert sein, die
Logikbefehle und/oder Daten enthält, die, wenn in ein geeig
net konfiguriertes Computergerät geladen, dieses Gerät veran
lassen, gemäß der Erfindung zu arbeiten. Fig. 8 zeigt ein di
gitales Gerät 700, das als eine Logikeinrichtung aufgefaßt
werden kann, die aus dem Medium 717 und/oder dem Netzwek
anschluß 719 Befehle lesen kann. Die Einrichtung 700 kann da
nach diese Befehle verwenden, um einen Server oder eine
Clientanwendung, wie auf dem Fachgebiet bekannt, zu führen,
und umfaßt ferner die Komponenten der Erfindung. Ein Typ von
Logikeinrichtung, der die Erfindung verkörpern kann, ist ein
Computersystem, wie in 700 dargestellt, das eine CPU 707, op
tionale Eingabevorrichtungen 709 und 711, Plattenlaufwerke
715 und einen optionalen Bildschirm 705 umfaßt. Das feste Me
dium 717 kann verwendet werden, um ein solches System zu pro
grammieren, und kann ein plattenähnliches optisches oder mag
netisches Medium oder ein Speicher sein. Die Erfindung kann
ganz oder teilweise als eine auf diesem festen Medium aufge
zeichnete Software verkörpert sein. Der Kommunikations
anschluß 719 kann ebenfalls verwendet werden, um ein solches
System zu programmieren, und kann irgendeinen Typ von Kommu
nikationsverbindung repräsentieren.
Die Erfindung kann ebenfalls ganz oder teilweise innerhalb
der Schaltung einer kundenspezifischen integrierten Schaltung
(ASIC) oder einer programmierbaren Logikvorrichtung (PLD)
verkörpert sein. In einem solchen Fall kann die Erfindung in
einer computerverständlichen Deskriptorsprache verkörpert
sein, die verwendet werden kann, um ein ASIC oder PLD zu er
zeugen, die so, wie hierin beschrieben, arbeiten.
Die Erfindung ist nun mit Bezug auf spezielle Ausführungs
formen erklärt worden. Andere Ausführungsformen sind für
Fachleute ersichtlich. Selbstverständlich dienen die hierin
beschriebenen Beispiele und Ausführungsformen nur der Veran
schaulichung und sind verschiedene Modifikationen oder Abän
derungen in deren Angesicht für Fachleute naheliegend und
sollen im Sinn und Anwendungsbereich dieser Anmeldung und dem
Bereich der angefügten Ansprüche mit enthalten sein. Alle
hierin zitierten Veröffentlichungen, Patente und Patentanmel
dungen sind hiermit durch Verweis in ihrer Gesamtheit für al
le Zwecke mit aufgenommen.
Claims (31)
1. Verfahren zur Bestimmung von Zeichencodes für einen
binären kodierten numerischen ursprünglichen Wert unter Ver
wendung einer Informationsverarbeitungsvorrichtung, aufwei
send:
- a) Dividieren des ursprünglichen Werts durch einen Divi sor, was ein zwei- oder mehrstelliges Ganzzahlergebnis er zeugt;
- b) Verwenden des zwei- oder mehrstelligen Ergebnisses, um zwei oder mehr Bildschirmcodes zu bestimmen;
- c) Bestimmen eines sekundären ursprünglichen Werts;
- d) Wiederholen der Schritte a) bis c), bis dieser sekun däre ursprüngliche Wert weniger als eine vorgegebene Anzahl von Stellen aufweist; und
- e) Verwenden eines letzten sekundären ursprünglichen Werts, um die letzten zwei oder mehr Bildschirmcodes zu bestimmen.
2. Verfahren nach Anspruch 1, wobei das Ganzzahlergebnis
ein ganzzahliger Rest ist und die Bestimmung ein Dividieren
der ursprünglichen Zahl durch eine zu einer Potenz gehobenen
Basis aufweist, wobei die Potenz die Anzahl der dekodierten
Stellen angibt.
3. Verfahren nach Anspruch 1, wobei das ganzzahlige Er
gebnis ein ganzzahliger Quotient ist und die Bestimmung auf
weist:
Subtrahieren des mit dem Divisor multiplizierten Ganz zahlergebnisses von dem ursprünglichen Wert, um einen sekun dären ursprünglichen Wert zu erhalten.
Subtrahieren des mit dem Divisor multiplizierten Ganz zahlergebnisses von dem ursprünglichen Wert, um einen sekun dären ursprünglichen Wert zu erhalten.
4. Verfahren nach Anspruch 1, wobei der Divisor eine mit
einem ganzzahligen Exponenten gebildete Potenz von 10 größer
als 10 ist.
5. Verfahren nach Anspruch 1, wobei der Divisor eine mit
einem ganzzahligen Exponenten gebildete Potenz von 10 größer
als 1000 ist.
6. Verfahren nach Anspruch 1, wobei die Verwendung auf
weist: Nachschlagen in einer Tabelle unter Verwendung des
zwei- oder mehrstelligen Ergebnisses als Tabellenindex.
7. Verfahren zur Bestimmung von Zeichencodes für einen
binären kodierten numerischen ursprünglichen Wert unter Ver
wendung einer Informationsverarbeitungsvorrichtung, aufwei
send:
- a) Dividieren des ursprünglichen Werts durch einen Divi sor, um ein zwei- oder mehrstelliges Restganzzahlergebnis zu erzeugen;
- b) Verwenden des zwei- oder mehrstelligen Ergebnisses, um zwei oder mehr Bildschirmcodes zu bestimmen;
- c) Subtrahieren des mit dem Divisor multiplizierten Ganz zahlergebnisses von dem ursprünglichen Wert, um einen sekun dären ursprünglichen Wert zu erhalten;
- d) Wiederholen der Schritte a) bis c), bis dieser sekun däre ursprüngliche Wert kleiner als eine vorgegebene Anzahl von Stellen ist; und
- e) Verwenden eines letzten sekundären ursprünglichen Werts, um zwei oder mehr letzte Bildschirmcodes zu bestimmen.
8. Verfahren nach Anspruch 7, wobei der Divisor eine mit
einem ganzzahligen Exponenten gebildete Potenz von 10 größer
als 10 ist.
9. Verfahren nach Anspruch 7, wobei der Divisor eine mit
einem ganzzahligen Exponenten gebildete Potenz von 10 größer
als 1000 ist.
10. Verfahren nach Anspruch 7, wobei die Verwendung auf
weist: Nachschlagen in einer Tabelle unter Verwendung des
zwei- oder mehrstelligen Ergebnisses als Tabellenindex.
11. Vorrichtung in einem Computersystem, die eine binäre
kodierte Zahl in einen Satz von Bildschirmcodes kodiert, auf
weisend:
eine Tabelle mit mehreren Einträgen, wobei jeder Eintrag zwei oder mehrere Bildschirmcodes für zwei oder mehrere Stel len bereitstellt; und
einen Prozessor, der in der Lage ist, eine binäre kodier te Zahl durch einen Divisor zu dividieren und Ergebnisse dar aus zu verwenden, um zwei oder mehrere Bildschirmcodes in der statischen Tabelle nachzuschlagen.
eine Tabelle mit mehreren Einträgen, wobei jeder Eintrag zwei oder mehrere Bildschirmcodes für zwei oder mehrere Stel len bereitstellt; und
einen Prozessor, der in der Lage ist, eine binäre kodier te Zahl durch einen Divisor zu dividieren und Ergebnisse dar aus zu verwenden, um zwei oder mehrere Bildschirmcodes in der statischen Tabelle nachzuschlagen.
12. Vorrichtung nach Anspruch 11, wobei ferner das Ergeb
nis als Index für die Tabelle verwendet wird.
13. Vorrichtung nach Anspruch 11, wobei ferner das Ergeb
nis ein Restergebnis der Division ist.
14. Vorrichtung nach Anspruch 11, wobei das Ergebnis ein
ganzzahliges Quotientenergebnis der Division ist.
15. Vorrichtung nach Anspruch 11, wobei jeder indexierte
Eintrag der Tabelle einen N-stelligen Bildschirmcode hat und
wobei die Tabelle 10^N indexierte Einträge hat und wobei N
eine ganze Zahl größer Eins ist.
16. Verfahren, das einem Informationsverarbeitungssystem
ermöglicht, Programme, die eine Konversion von binären ko
dierten Zahlen in Zeichencodes erfordern, schneller auszufüh
ren, aufweisend:
Erstellen einer Tabelle in einem Speicher des Informati onsverarbeitungssystems, wobei die Tabelle mit einem Wert in dexiert ist und wobei Einträge in die Tabelle zwei oder mehr Bildschirmcodes, die dem Wert entsprechen, repräsentieren; und
Einrichten einer Logikroutine, die einen binären kodier ten numerischen Wert entgegennimmt und die Tabelle verwendet, um Bildschirmcodes für den binären kodierten numerischen Wert zu bestimmen.
Erstellen einer Tabelle in einem Speicher des Informati onsverarbeitungssystems, wobei die Tabelle mit einem Wert in dexiert ist und wobei Einträge in die Tabelle zwei oder mehr Bildschirmcodes, die dem Wert entsprechen, repräsentieren; und
Einrichten einer Logikroutine, die einen binären kodier ten numerischen Wert entgegennimmt und die Tabelle verwendet, um Bildschirmcodes für den binären kodierten numerischen Wert zu bestimmen.
17. Verfahren nach Anspruch 16, wobei das Erstellen auf
weist:
Erstellen einer statischen Tabelle in einem Betriebssys tem-Speicherplatz des Informationsverarbeitungssystems.
Erstellen einer statischen Tabelle in einem Betriebssys tem-Speicherplatz des Informationsverarbeitungssystems.
18. Verfahren nach Anspruch 16, ferner mit:
Wählen einer ganzen Zahl größer als Eins, die die Anzahl der Stellen der Bildschirmcodes in jedem Eintrag in einer Ta belle angibt.
Wählen einer ganzen Zahl größer als Eins, die die Anzahl der Stellen der Bildschirmcodes in jedem Eintrag in einer Ta belle angibt.
19. Verfahren zur Beschleunigung eines Betriebsablaufs
eines Computersystems, aufweisend:
Einrichten einer Logikroutine für eine Bildschirmanzeige von binären kodierten Zahlen, wobei die Logikroutine durch eine Konversionsroutine bei jeder Iteration zwei oder mehr Bildschirmcodedarstellungen einer binären kodierten Zahl be stimmt.
Einrichten einer Logikroutine für eine Bildschirmanzeige von binären kodierten Zahlen, wobei die Logikroutine durch eine Konversionsroutine bei jeder Iteration zwei oder mehr Bildschirmcodedarstellungen einer binären kodierten Zahl be stimmt.
20. Verfahren zum Speichern eines numerischen Werts in
einer Informationsverarbeitungsvorrichtung, aufweisend:
- a) Reservieren eines ersten Speicherbereichs und Spei chern eines ganzzahligen Anteils des numerischen Werts in dem ersten Speicherbereich;
- b) Reservieren eines zweiten Speicherbereichs und Spei chern eines Bruchanteils des numerischen Werts in dem zweiten Speicherbereich;
- c) wobei der erste Speicherbereich und der zweite Spei cherbereich nicht zusammenhängend sind, darin daß es keinen automatischen Übertrag oder Bitshift zwischen dem ersten und zweiten Speicherbereich gibt, und wobei ein ganzzahliger An teil eines Dezimalwerts vollständig unter Bezugnahme auf ei nen ganzzahligen Anteil des gespeicherten Werts bestimmt wer den kann und wobei ein Bruchanteil eines Dezimalwerts voll ständig unter Bezugnahme auf einen Bruchanteil des gespei cherten Werts bestimmt werden kann.
21. Verfahren nach Anspruch 20, wobei der ganzzahlige An
teil in dem ersten Speicherbereich in einem Standardformat
für binäre Ganzzahlen gespeichert wird.
22. Verfahren nach Anspruch 21, wobei der ganzzahlige An
teil in dem ersten Speicherbereich als eine mit Vorzeichen
versehene binäre ganze Zweierkomplement-Zahl gespeichert
wird.
23. Verfahren nach Anspruch 20, wobei der Bruchanteil in
dem zweiten Speicherbereich in einem Standardformat für binä
re Ganzzahlen gespeichert wird.
24. Verfahren nach Anspruch 23, wobei der Bruchanteil mit
einem Skalierungswert multipliziert wird und dann in dem
zweiten Speicherbereich in einem Standardformat für binäre
Ganzzahlen gespeichert wird.
25. Verfahren nach Anspruch 24, wobei der Skalierungswert
eine Potenz von 10 mit ganzzahligem Exponenten ist.
26. Verfahren nach Anspruch 23, wobei der Bruchanteil in
dem ersten Speicherbereich als eine mit Vorzeichen versehene
binäre Zweierkomplement-Ganzzahl gespeichert wird.
27. Verfahren nach Anspruch 20, wobei der Ganzzahlanteil
und der Bruchanteil jeweils mit einem separaten Vorzeichenbit
gespeichert werden.
28. Verfahren nach Anspruch 20, ferner mit Bestimmen von
Zeichencodes für einen numerischen Wert, der als ein Ganz
zahlanteil und ein Bruchanteil gespeichert ist, mit einer Be
stimmung der Zeichencodes separat für den Ganzzahlanteil und
den Bruchanteil.
29. Vorrichtung in einem Computersystem zum Verarbeiten
von Gleitpunktzahlen, wobei die Vorrichtung Logikmodule zur
Ausführung des in Anspruch 20 angeführten Verfahrens auf
weist.
30. Verfahren, um einem Informationsverarbeitungssystem
die Verarbeitung eines Bereichs von Gleitpunktzahlen zu er
möglichen, aufweisend:
Einrichten einer IP.FP-Datenschablone in einem Speicher in dem Informationsverarbeitungssystem, wobei die Datenschab lone nicht zusammenhängende Speicherbereiche für den Dezimal anteil und Bruchanteil der numerischen Werte bereitstellt;
Einrichten mehrerer Logikroutinen zum Ausführen von nume rischen und logischen Operationen an den im IP.FP-Format ge speicherten numerischen Werten.
Einrichten einer IP.FP-Datenschablone in einem Speicher in dem Informationsverarbeitungssystem, wobei die Datenschab lone nicht zusammenhängende Speicherbereiche für den Dezimal anteil und Bruchanteil der numerischen Werte bereitstellt;
Einrichten mehrerer Logikroutinen zum Ausführen von nume rischen und logischen Operationen an den im IP.FP-Format ge speicherten numerischen Werten.
31. Verfahren zum Beschleunigen eines Betriebsablaufs ei
nes Computersystems, das Betreiben des Systems nach Anspruch
30 bei einer Verarbeitung von Gleitpunktzahlen beinhaltet.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27532401P | 2001-03-12 | 2001-03-12 | |
US27532301P | 2001-03-12 | 2001-03-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10210663A1 true DE10210663A1 (de) | 2002-10-17 |
Family
ID=26957366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10210663A Withdrawn DE10210663A1 (de) | 2001-03-12 | 2002-03-12 | Vorrichtung und Verfahren für Anzeige- und/oder Präzisionsoperationen von numerischen Werten in binären Systemen |
Country Status (3)
Country | Link |
---|---|
US (3) | US6822586B2 (de) |
DE (1) | DE10210663A1 (de) |
GB (1) | GB2376773B (de) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2376613B (en) * | 2001-06-15 | 2005-01-05 | Wireless Systems Int Ltd | Methods and apparatus for signal distortion correction |
US7193541B2 (en) * | 2001-12-04 | 2007-03-20 | Sun Microsystems, Inc. | Representation of sign in encoding scheme |
KR20040099462A (ko) * | 2002-04-19 | 2004-11-26 | 컴퓨터 어소시에이츠 싱크, 인코포레이티드 | 수치 데이터 처리 방법, 수치 포맷 처리 방법 및 시스템,컴퓨터 판독가능 매체, 및 수치 데이터 처리 시스템 |
US7215264B2 (en) * | 2005-09-30 | 2007-05-08 | Pixtel Media Technology (P)Ltd. | Methods and systems for character conversion |
JP2009301452A (ja) * | 2008-06-17 | 2009-12-24 | Sanyo Electric Co Ltd | 動作制限機能を有する電子機器 |
US8164492B2 (en) * | 2009-05-04 | 2012-04-24 | Touch Technologies, Inc. | Apparatus and method for fast data encoding and decoding |
US9454514B2 (en) * | 2009-09-02 | 2016-09-27 | Red Hat, Inc. | Local language numeral conversion in numeric computing |
TW201403405A (zh) * | 2012-07-09 | 2014-01-16 | Mstar Semiconductor Inc | 符號輸入裝置、符號輸入方法及相關的電腦程式產品 |
US9710227B2 (en) | 2012-09-15 | 2017-07-18 | John W. Ogilvie | Formatting floating point numbers |
US10592264B2 (en) * | 2018-05-16 | 2020-03-17 | Oracle International Corporation | Runtime optimization of arithmetic expressions with decimal numbers |
CN112402983B (zh) * | 2020-08-03 | 2024-07-26 | 上海幻电信息科技有限公司 | 游戏成绩验证方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3872442A (en) * | 1972-12-14 | 1975-03-18 | Sperry Rand Corp | System for conversion between coded byte and floating point format |
JPH0234037A (ja) * | 1988-07-25 | 1990-02-05 | Hitachi Ltd | 数値データ変換方式 |
US5038309A (en) * | 1989-09-15 | 1991-08-06 | Sun Microsystems, Inc. | Number conversion apparatus |
US5050121A (en) * | 1990-01-22 | 1991-09-17 | Vaughan H W | Communication system which uses characters that represent binary-coded decimal numbers |
JP3097294B2 (ja) * | 1992-04-10 | 2000-10-10 | 松下電器産業株式会社 | コード変換装置 |
GB2271257A (en) * | 1992-10-02 | 1994-04-06 | Canon Res Ct Europe Ltd | Processing image data |
JP3496965B2 (ja) * | 1993-12-20 | 2004-02-16 | 富士通株式会社 | 文字コード変換装置 |
GB2345563B (en) * | 1997-08-30 | 2000-12-27 | Lg Electronics Inc | Digital signal processor |
US6396921B1 (en) * | 1997-11-07 | 2002-05-28 | Nortel Networks Limited | Method and system for encoding and decoding typographic characters |
US7330864B2 (en) * | 2001-03-01 | 2008-02-12 | Microsoft Corporation | System and method for using native floating point microprocessor instructions to manipulate 16-bit floating point data representations |
US6889241B2 (en) * | 2001-06-04 | 2005-05-03 | Intel Corporation | Floating point adder |
-
2002
- 2002-03-12 US US10/099,928 patent/US6822586B2/en not_active Expired - Fee Related
- 2002-03-12 GB GB0205775A patent/GB2376773B/en not_active Expired - Fee Related
- 2002-03-12 DE DE10210663A patent/DE10210663A1/de not_active Withdrawn
- 2002-03-12 US US10/099,905 patent/US7149765B2/en not_active Expired - Lifetime
-
2006
- 2006-11-06 US US11/557,103 patent/US7890558B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
GB2376773A (en) | 2002-12-24 |
US7890558B2 (en) | 2011-02-15 |
US6822586B2 (en) | 2004-11-23 |
US20030009653A1 (en) | 2003-01-09 |
GB2376773B (en) | 2005-09-21 |
US20030069912A1 (en) | 2003-04-10 |
GB0205775D0 (en) | 2002-04-24 |
US7149765B2 (en) | 2006-12-12 |
US20070180004A1 (en) | 2007-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112007001989B4 (de) | Ausführung von Rundungsoperationen entsprechend einer Anweisung | |
DE69233361T2 (de) | Ein-Chip-Mikrocomputer | |
DE69130868T2 (de) | Kommunikationssystem für binärdaten | |
EP0079471B1 (de) | Schaltungsanordnung und Verfahren zur Bildung von Skalarprodukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit | |
DE69429342T2 (de) | Vereinheitlicher gleitkommadatenpfad und ganzzahldatenpfad für einen risc-prozessor | |
DE19540102C2 (de) | Verfahren und Gleitkomma-Recheneinheit mit einer Logik für eine Vierfach-Präzisions-Arithmetik | |
DE69033471T2 (de) | Natürliche Sprache verarbeitendes Gerät | |
DE112004001648T5 (de) | Verfahren, Vorrichtung und Befehle für parallele Datenumwandlung | |
US7890558B2 (en) | Apparatus and method for precision binary numbers and numerical operations | |
DE10355760A1 (de) | System und Verfahren zum Codieren von Daten | |
DE3788782T2 (de) | Verfahren zur Herstellung einer Meldungsdatei in einem Computer. | |
DE2264090A1 (de) | Datenverdichtungssystem | |
DE19920214A1 (de) | Verfahren und Einrichtung zum Konvertieren einer Zahl zwischen einem Gleitkommaformat und einem Ganzzahlformat | |
DE112015003584T5 (de) | Maschinenbefehle zum Umsetzen von einem dezimalen Gleitkommaformat zu einem gepackten Dezimalformat | |
DE3789601T2 (de) | Elektronische Datenverarbeitungsanlage zur Manipulation von algebraischen Formeln. | |
DE1162111B (de) | Gleitkomma-Recheneinrichtung | |
DE112016004324T5 (de) | Heterogene Kompressionsarchitektur für optimiertes Kompressionsverhältnis | |
DE112015003588T5 (de) | Maschinenbefehle zum Umsetzen von einem gepackten Dezimalformat zu einem dezimalen Gleitkommaformat | |
DE3856139T2 (de) | Mikroprozessor | |
DE112005002100T5 (de) | System und Verfahren für multilinguale Texteinabe in einer tragbaren elektronischen Vorrichtung | |
DE112017005823T5 (de) | Codieren von symbolen variabler länge zum ermöglichen eines parallelen decodierens | |
DE69332817T2 (de) | Verfahren und Gerät zum automatischen Entwurf logischer Schaltung und Multiplikator | |
DE2830334A1 (de) | Multipliziereinrichtung | |
DE112022002300T5 (de) | Verarbeitung einer speicheränderung bei der programmereignisaufzeichnung für eine anweisung eines beschleunigers in einem neuronalen netzwerk | |
DE69428151T2 (de) | Programmübersetzer mit selektiver Datenwertverbesserung und Prozessor mit Befehlen zur Datenverlängerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: TC TECH ELECTRONICS, LLC, WILMINGTON, DEL., US |
|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: H03M 7/02 AFI20051017BHDE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20141001 |