Processor for character strings of variable length

Communications: electrical – Land vehicle alarms or indicators – Internal alarm or indicator responsive to a condition of the...

Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

3401462, 36471511, G06F 700

Patent

active

057615217

DESCRIPTION:

BRIEF SUMMARY
BACKGROUND OF THE INVENTION

The invention concerns a processor for character strings of variable length, comprising a system of storage units for storing character strings, which are pairwise addressable by program instructions, and from which substrings corresponding to the data path width are transferred into two operand registers, comprising an arithmetic-logic unit for executing processing operations, comprising a condition code circuit for storing signals derived from the results of the processing and which control program branching, and comprising a control unit, which sequentially addresses the substrings of the pairs of character strings in the storage unit and controls the operation of the units and the transfers between them in consecutive machine cycles.
Computer applications for querying databases, and applications in the field of text processing and the support of higher-level programming languages necessitate a considerable amount of character string processing. Generally speaking, a character string is a data element consisting of a variable length sequence of bytes. The length of a character string can range from one to a number of bytes, limited solely by the size of a storage unit. It can be determined by a length code, or through a special character contained in the character string and indicating the end of the string. It is normal for character string instructions to have to process character strings of different lengths. Frequent kinds of processing are the comparison of two character strings and the detection of the first pair of bytes to match or differ from one another, the detection of some character string within a character string A and in a character string B, the search for a substring within a character string, or the displacement of a character string to another storage position.
Complex instructions for character strings have three operands: the address of a first character string A, the address of a second character string B, where A and B have variable lengths and the address of an end-of-string byte as third operand, which marks the end of character strings A and B. The execution of such an instruction necessitates a series of operations. The character string representing the first operand is compared bytewise from left to right with the character string representing the second operand until the detection of a pair of bytes that do not match, or an end-of-string byte. Both character strings are equal if the end-of-string byte in both of them is found in the same bit position. If the end-of-string byte is detected in only one of the two character strings, then this character string is the shorter and is regarded as the lesser. If on the other hand, instead of an end-of-string byte, a mismatched pair of bytes is detected, both of these bytes must be compared in order to determine which of the two operands is the lesser. Execution of the instruction therefore comprises the following phases: search for the end-of-string byte in character string A, search for the end-of-string byte in character string B, comparison of both character strings for mismatch, and subtraction of one character string from the other to determine which character string is the lesser. The execution of these different operations necessitates a considerable overhead in microprocessor control and processing time.
It is well-known that circuits permitting a number of bytes to be compared in parallel are superior for speeding up the execution of character string instructions (U.S. Pat. No.4,896,133). With such an arrangement, it is possible to detect a particular control character in a character string by a comparison operation, in which copies of this control character are stored at all byte positions of an operand register and are simultaneously compared with eight bytes of the string. If a match is detected, branching to the next program instruction occurs under microprogram control. In the alternative case, the comparison is repeated with a further character string. The comparison operations can be exe

REFERENCES:
patent: 4094001 (1978-06-01), Miller
patent: 4575795 (1986-03-01), Boothroyd et al.
patent: 4760523 (1988-07-01), Yu et al.
patent: 4896133 (1990-01-01), Methvin et al.
patent: 5212697 (1993-05-01), Morita
patent: 5222225 (1993-06-01), Groves
patent: 5329405 (1994-07-01), Hou et al.
patent: 5367705 (1994-11-01), Sites et al.
patent: 5440753 (1995-08-01), Hou et al.
patent: 5495592 (1996-02-01), James et al.
patent: 5568624 (1996-10-01), Sites et al.
37th IEEE Computer Society International Conference, Compcon Spring '92, Feb. 24, 1992 entitled "Pathlength Reduction Features in the PA-RISC Architecture".

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Processor for character strings of variable length does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Processor for character strings of variable length, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Processor for character strings of variable length will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-1472931

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.