Abstract:
An instruction processor system for decoding compound instructions created from a series of base instruction (21) of a scalar machine, the processor generating a series of compound instruction (33) with an instruction format text having appened control bits in the instruction format text enabling the execution of the compound instruction format text in said instruction processor with a compounding facility (42) which fetches and decodes compound instructions which can be executed as compounded and single instructions by the arithmetic and logic units (26) of the instruction processor while preserving intact the scalar execution of the base instructions of a scalar machine which were originally in storage. The system nullifies any execution of a member instruction unit of a compound instruction upon occurrence of possible conditions, such as branch wich would affect the correctness of recording results of execution of the member instruction unit portion based upon the interrelationship of member units of the compound instruction with other instructions. The resultant series of compounded instructions generally executes in a faster manner than the original format which is preserved due to the parallel nature of the compounded instruction stream which is executed.
Abstract:
PURPOSE: To provide a system where more than two computer instructions are processed in parallel. CONSTITUTION: A cache storage unit temporarily storing a machine level computer instruction is provided in the midst of function units 13-15 which processes the instruction from a host storage unit 10. An instruction composite conversion unit 11 which analyzes the instruction between the host storage unit and the cache storage unit and adds a tag field indicating whether or not the respective instructions are processed in parallel with more than one adjacent instruction of an instruction stream is provided. The instruction with a tag is stored in the cache unit. Moreover, Plural function instruction processing units which are mutually operated in parallel are provided. The instruction where the tag is given for a parallel processing is transmitted to the different one of the function units 13-15 in accordance with the code of an operation code fields.
Abstract:
PURPOSE: To provide a digital computer system in which computer instructions can be executed in parallel, and which includes a cache storage unit which temporarily stores the computer instruction in a machine level in a process from a higher level storage unit to a functional unit which processes the instruction in the computer system. CONSTITUTION: An instruction composite unit 37 arranged between a high level storage unit 36 and a cache storage unit 38 operates the analysis of an instruction, and generates composite information indicating whether or not this instruction can be processed in parallel to the adjacent instruction in an instruction stream to each instruction. Then, those instructions with a tag and the composite information are stored in the cache unit 38. Plural functional instruction processing units 39-41 which are operated in parallel are included in this computer system.
Abstract:
A method for implementing speculative clock gating of digital logic circuits in a multiple stage pipeline design includes generating, in a first pipeline stage n, a valid control signal that is input to a first register (112) in a second pipeline stage n+1, the valid control signal indicative of when an operation is qualified to be performed by the second pipeline stage n+1; and generating, in the first pipeline stage, a speculative valid control signal that is used to gate a clock signal to a plurality of additional registers (116) in the second pipeline stage, wherein the speculative valid control signal is generated using only a subset of a total number of control inputs (202) used in generating the valid control signal, and wherein the clock signal is sent directly, without gating, to the first register (112) in the second pipeline stage.
Abstract:
Verfahren zum Codieren von Daten, wobei das Verfahren die Schritte aufweist:Realisieren von dynamischen Huffman-Tabellen in Hardware, die eine Mehrzahl von Huffman-Baumformen repräsentieren, welche aus einem Beispieldatensatz vorberechnet wurden, wobei die Huffman-Baumformen in den dynamischen Huffman-Tabellen durch Codelängenwerte repräsentiert werden;Entfernen von Symbolen aus den dynamischen Huffman-Tabellen, so dass lediglich variable Codelängenwerte verbleiben;Schreiben von Symbolen und ihren Zählwerten aus den Eingabedaten in die dynamischen Huffman-Tabellen nach dem Empfang von Eingabedaten;Berechnen einer Wertung für jede der dynamischen Huffman-Tabellen mit den Symbolen und Zählwerten aus den Eingabedaten, wobei die Wertung auf den Codelängenwerten der vorberechneten Huffman-Baumformen und den Zählwerten aus den Eingabedaten beruht; undAuswählen einer gegebenen der dynamischen Huffman-Tabellen mit einer niedrigsten Wertung für ein Codieren der Eingabedaten.
Abstract:
Ein Halteregister weist einen Hauptdateneingang und einen Lookahead-Eingang auf. Aufeinanderfolgende sich überlappende Abschnitte des Hauptdateneingangs und des Lookahead-Eingangs werden für eine Mehrzahl M von Halbdecodern bereitgestellt, die eine Untergruppe von häufig vorkommenden Codewörtern eines Huffman-Codes enthalten. Wenn kein Codewort angetroffen wird, das nicht in den Halbdecodern verfügbar ist, entschlüsseln die Halbdecoder parallel in einem einzigen Taktzyklus M der häufig vorkommenden Codewörter. Wenn ein Codewort auftritt, das nicht in den Halbdecodern verfügbar ist, wird der Eingang, der für einen entsprechenden einen der Halbdecoder bestimmt ist, dessen Eingang das Codewort enthält, das nicht in dem entsprechenden einen der Halbdecoder verfügbar ist, auf einen Eingang eines Volldecoders angewendet, der in einem ternären inhaltsadressierbaren Arbeitsspeicher umgesetzt ist. Der Volldecoder enthält alle Codewörter des Huffman-Codes.