Patent US2650748A successfully refreshed from Google Patents.
Patent US1533655A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5488710A Expired / Lapsed US ⏱️ 0.0 years remaining

Cache memory and data processor including instruction length decoding circuitry for simultaneously decoding a plurality of variable length instructions

Assignee: Fujitsu Semiconductor Ltd
•
Filing: 1992-02-10
•
Granted: 1996-01-30
•
Expires: 2012-02-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A cache memory, and a data processor including the cache memory, for processing at least one variable length instruction from a memory and outputting processed information to a control unit, such as a central processing unit (CPU). The cache memory includes a unit for decoding an instruction length of a variable length instruction from the memory, and a unit for storing the variable length instruction from the memory, together with the decoded instruction length information. The variable length instruction and the instruction length information thereof are fed to the control unit. Accordingly, the cache memory enables the control unit to simultaneously decode a plurality of variable length instructions and thus realize high speed processing.

Inventors

  • 👤 Taizo Sato
  • 👤 Atsushi Fujihira

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 17:47
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3818; G06F9/382; G06F9/34; G06F9/30145; G06F9/30149; G06F9/30152; G06F9/3802

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 218 words
A cache memory for storing at least one variable length instruction from a memory and outputting stored information to control means, the cache memory comprising: instruction length decoding means for decoding an instruction length of the variable length instruction from the memory; and instruction storing means for storing the variable length instruction from the memory and corresponding instruction length information from the instruction length decoding means, and outputting the variable length instruction and the corresponding instruction length information thereof to the control means, the instruction storing means comprising: memory means for storing the variable length instruction output from the memory and the corresponding instruction length information from the instruction length decoding means; and means for reading an instruction and corresponding instruction length information from the memory means when a cache hit occurs indicating the instruction and the corresponding instruction length information are in said memory means and transmitting the instruction and corresponding instruction length information from the memory means to the control means, and for receiving the instruction output from the memory and the corresponding instruction length information from the instruction length decoding means when a cache miss occurs indicating the instruction and the corresponding instruction length information are not in said memory means and writing the received instruction and corresponding instruction length information into the memory means.
Claim 2
Dependent Claim 218 words
A cache memory for storing at least one variable length instruction from a memory and outputting stored information to control means, the cache memory comprising: instruction length decoding means for decoding an instruction length of the variable length instruction from the memory; and instruction storing means for storing the variable length instruction from the memory and corresponding instruction length information from the instruction length decoding means, and outputting the variable length instruction and the corresponding instruction length information thereof to the control means, the instruction storing means comprising: memory means for storing the variable length instruction output from the memory and the corresponding instruction length information from the instruction length decoding means; and means for reading an instruction and corresponding instruction length information from the memory means when a cache hit occurs indicating the instruction and the corresponding instruction length information are in said memory means and transmitting the instruction and corresponding instruction length information from the memory means to the control means, and for receiving the instruction output from the memory and the corresponding instruction length information from the instruction length decoding means when a cache miss occurs indicating the instruction and the corresponding instruction length information are not in said memory means and writing the received instruction and corresponding instruction length information into the memory means.
Claim 3
Dependent Claim 73 words
A cache memory as set forth in claim 1, further comprising means for, after the instruction and corresponding instruction length information are stored in said memory means, receiving the instruction output from the memory and the corresponding instruction length information from the instruction length decoding means when the cache miss occurs and transmitting the received instruction and the corresponding instruction length information which is stored in the memory means to the control means.
Claim 4
Dependent Claim 137 words
A cache memory as set forth in claim 1, wherein the memory is divided into data blocks and the instruction length decoding means comprises: means for latching variable length instruction data having a head and output from the memory; means for decoding an instruction format and an effective address from the variable length instruction data for every data block and providing decoded results; instruction length determining means for determining instruction lengths based on the decoded results for every data block; means for generating instruction length information for the latched variable length instruction data based on the determined instruction lengths, and for generating a control signal indicating which block of the data blocks is at a head of the variable length instruction; and means, responsive to the control signal, for controlling operation of the instruction length determining means.
Claim 5
Dependent Claim 32 words
A cache memory as set forth in claim 3, further comprising cache hit/miss judging means for judging whether the cache memory is in a cache hit state or a cache miss state.
Claim 6
Dependent Claim 53 words
A cache memory as set forth in claim 4, wherein the cache hit/miss judging means comprises: means for storing comparison addresses; and means for comparing an instruction address from the control means with the comparison addresses to judge whether the cache memory is in the cache hit state or the cache miss state.
Claim 7
Dependent Claim 330 words
A data processor connected to a main memory, said data processor comprising: processing means for outputting an instruction address for fetching a variable length instruction; and a cache memory connected between the processing means and the main memory, the cache memory including: instruction length decoding means for decoding a corresponding instruction length of the variable length instruction from the main memory; and instruction storing means for storing the variable length instruction from the main memory and corresponding instruction length information from the instruction length decoding means, and outputting the variable length instruction and the corresponding instruction length information thereof to the processing means, and wherein the processing means comprises: code storing means for storing a train of instruction codes comprising a plurality of sets, each having a basic part and an extended part; means for judging whether data in the train of instruction codes is a basic part and, if so, for appending a control mark to that basic part; mark storing means for storing the control mark; head position designating means for designating a head position of the train of instruction codes to be selectively output from the code storing means; output position designating means, responsive to outputs of the head position designating means and the mark storing means, for designating an output position of the train of instruction codes; selective outputting means, responsive to outputs of the output position designating means and the outputs of the mark storing means, for selectively outputting the train of instruction codes from the code storing means; instruction code decoding means for decoding instruction codes output from the selective outputting means; register means for storing the train of instruction codes output from the selective outputting means; generating means, responsive to outputs of the instruction code decoding means and the register means, for generating one of an immediate address value for an instruction and a displacement address value for an instruction; and means for executing an instruction based on outputs of the generating means.
Claim 8
Dependent Claim 330 words
A data processor connected to a main memory, said data processor comprising: processing means for outputting an instruction address for fetching a variable length instruction; and a cache memory connected between the processing means and the main memory, the cache memory including: instruction length decoding means for decoding a corresponding instruction length of the variable length instruction from the main memory; and instruction storing means for storing the variable length instruction from the main memory and corresponding instruction length information from the instruction length decoding means, and outputting the variable length instruction and the corresponding instruction length information thereof to the processing means, and wherein the processing means comprises: code storing means for storing a train of instruction codes comprising a plurality of sets, each having a basic part and an extended part; means for judging whether data in the train of instruction codes is a basic part and, if so, for appending a control mark to that basic part; mark storing means for storing the control mark; head position designating means for designating a head position of the train of instruction codes to be selectively output from the code storing means; output position designating means, responsive to outputs of the head position designating means and the mark storing means, for designating an output position of the train of instruction codes; selective outputting means, responsive to outputs of the output position designating means and the outputs of the mark storing means, for selectively outputting the train of instruction codes from the code storing means; instruction code decoding means for decoding instruction codes output from the selective outputting means; register means for storing the train of instruction codes output from the selective outputting means; generating means, responsive to outputs of the instruction code decoding means and the register means, for generating one of an immediate address value for an instruction and a displacement address value for an instruction; and means for executing an instruction based on outputs of the generating means.
Claim 9
Dependent Claim 145 words
A data processor as set forth in claim 6, wherein the instruction storing means comprises: memory means for storing the variable length instruction output from the memory and corresponding instruction length information from the instruction length decoding means; and means for reading an instruction and corresponding instruction length information from the memory means in a cache hit state indicating the instruction and the corresponding instruction length information are in the memory means and transmitting the instruction and corresponding instruction length information read from the memory means to the control means, and for receiving the instruction output from the memory and the corresponding instruction length information from the instruction length decoding means in a cache miss state indicating the instruction and the corresponding instruction length information are not in the memory means and writing the received instruction and corresponding instruction length information into the memory means.
Claim 10
Dependent Claim 71 words
A data processor as set forth in claim 7, further comprising means for, after the instruction and corresponding instruction length information are stored in said memory means, receiving the instruction output from the memory and the corresponding instruction length information from the instruction length decoding means in the cache miss state and transmitting the received instruction and the corresponding instruction length information stored in the memory means to the control means.
Claim 11
Dependent Claim 132 words
A data processor as set forth in claim 7, wherein the memory is divided into data blocks and the instruction length decoding means comprises: means for latching variable length instruction data having a head and output from the memory; means for decoding an instruction format and an effective address from the variable length instruction data for every data block and providing decoded results; means for determining instruction lengths based on the decoded results for every data block; means for generating instruction length information for the latched-variable length instruction data based on the determined instruction lengths, and generating a control signal indicating which block of the data blocks is at the head of the variable length instruction; and means, responsive to the control signal, for controlling operation of the instruction length determining means.
Claim 12
Dependent Claim 329 words
A data processor connected to a main memory, said data processor comprising: processing means for outputting an instruction address for fetching a variable length instruction; and a cache memory connected between the processing means and the main memory, the cache memory including: instruction length decoding means for decoding a corresponding instruction length of the variable length instruction from the main memory; and instruction storing means for storing the variable length instruction from the main memory and corresponding instruction length information from the instruction length decoding means, and outputting the variable length instruction and the corresponding instruction length information thereof to the processing means, and wherein said processing means comprises: code storing means for storing a train of instruction codes comprising a plurality of sets, each having a basic part and an extended part; means for judging whether data in the train of instruction codes is a basic part and, if so, for appending a control mark to that basic part; mark storing means for storing the control mark; head position designating means for designating a head position of the train of instruction codes to be selectively output from the code storing means, by means of two read ports; output position designating means, responsive to outputs of the head position designating means and the mark storing means, for designating an output position of the train of instruction codes; a pair of output selecting units, responsive to outputs of the output position designating means and the outputs of the mark storing means, each for selectively outputting a respective allocated portion of the train of instruction codes from the code storing means; a pair of decoding units each for decoding instruction codes output from a corresponding output selecting unit; a pair of register units each for storing instruction codes output from a corresponding output selecting unit; and a pair of instruction executing units each for executing a respective instruction based on outputs of a corresponding decoding unit and a corresponding register unit.
Claim 13
Dependent Claim 329 words
A data processor connected to a main memory, said data processor comprising: processing means for outputting an instruction address for fetching a variable length instruction; and a cache memory connected between the processing means and the main memory, the cache memory including: instruction length decoding means for decoding a corresponding instruction length of the variable length instruction from the main memory; and instruction storing means for storing the variable length instruction from the main memory and corresponding instruction length information from the instruction length decoding means, and outputting the variable length instruction and the corresponding instruction length information thereof to the processing means, and wherein said processing means comprises: code storing means for storing a train of instruction codes comprising a plurality of sets, each having a basic part and an extended part; means for judging whether data in the train of instruction codes is a basic part and, if so, for appending a control mark to that basic part; mark storing means for storing the control mark; head position designating means for designating a head position of the train of instruction codes to be selectively output from the code storing means, by means of two read ports; output position designating means, responsive to outputs of the head position designating means and the mark storing means, for designating an output position of the train of instruction codes; a pair of output selecting units, responsive to outputs of the output position designating means and the outputs of the mark storing means, each for selectively outputting a respective allocated portion of the train of instruction codes from the code storing means; a pair of decoding units each for decoding instruction codes output from a corresponding output selecting unit; a pair of register units each for storing instruction codes output from a corresponding output selecting unit; and a pair of instruction executing units each for executing a respective instruction based on outputs of a corresponding decoding unit and a corresponding register unit.
Claim 14
Dependent Claim 145 words
A data processor as set forth in claim 10, wherein the instruction storing means comprises: memory means for storing the variable length instruction output from the memory and corresponding instruction length information from the instruction length decoding means; and means for reading an instruction and corresponding instruction length information from the memory means in a cache hit state indicating the instruction and the corresponding instruction length information are in the memory means and transmitting the instruction and corresponding instruction length information read from the memory means to the control means, and for receiving the instruction output from the memory and the corresponding instruction length information from the instruction length decoding means in a cache miss state indicating the instruction and the corresponding instruction length information are not in the memory means and writing the received instruction and corresponding instruction length information into the memory means.
Claim 15
Dependent Claim 71 words
A data processor as set forth in claim 11, further comprising means for, after the instruction and corresponding instruction length information are stored in said memory means, receiving the instruction output from the memory and the corresponding instruction length information from the instruction length decoding means in the cache miss state and transmitting the received instruction and the corresponding instruction length information stored in the memory means to the control means.
Claim 16
Dependent Claim 134 words
A data processor as set forth in claim 11, wherein the memory is divided into data blocks and the instruction length decoding means comprises: means for latching variable length instruction data having a head and output from the memory; means for decoding an instruction format and an effective address from the variable length instruction data for every data block and providing decoded results; instruction length determining means for determining instruction lengths based on the decoded results; means for generating instruction length information for the latched variable length instruction data based on the determined instruction lengths, and generating a control signal indicating which block of the plurality of data blocks is at the head of the variable length instruction; and means, responsive to the control signal, for controlling operation of the instruction length determining means.
Claim 17
Dependent Claim 199 words
A data processing system, comprising: a main memory; a processor for outputting an instruction address of a variable length instruction; and a cache memory connected between said main memory and said processor, said cache memory comprising: an instruction memory, connected to said main memory and said processor, for storing variable length instructions; an instruction length memory, connected to said processor, for storing information corresponding to instruction lengths of the variable length instructions; an instruction length decoder, connected to said main memory, said instruction length memory and said processor, for decoding the information corresponding to the instruction lengths of the variable length instructions from said main memory; a cache hit detection circuit, connected to said instruction memory, said main memory and said processor, for causing said instruction memory and said instruction length memory to output the variable length instructions and corresponding instruction lengths of the variable length instructions to said processor in a cache hit state responsive to the instruction address, and for causing said main memory and said instruction length decoder to output the variable length instructions and corresponding instruction lengths of the variable length instructions to said processor in a cache miss state responsive to the instruction address.
Claim 18
Dependent Claim 199 words
A data processing system, comprising: a main memory; a processor for outputting an instruction address of a variable length instruction; and a cache memory connected between said main memory and said processor, said cache memory comprising: an instruction memory, connected to said main memory and said processor, for storing variable length instructions; an instruction length memory, connected to said processor, for storing information corresponding to instruction lengths of the variable length instructions; an instruction length decoder, connected to said main memory, said instruction length memory and said processor, for decoding the information corresponding to the instruction lengths of the variable length instructions from said main memory; a cache hit detection circuit, connected to said instruction memory, said main memory and said processor, for causing said instruction memory and said instruction length memory to output the variable length instructions and corresponding instruction lengths of the variable length instructions to said processor in a cache hit state responsive to the instruction address, and for causing said main memory and said instruction length decoder to output the variable length instructions and corresponding instruction lengths of the variable length instructions to said processor in a cache miss state responsive to the instruction address.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-01-29 1999-07-31 2000-01-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-01-29 2003-07-31 2004-01-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-01-29 2007-07-31 2008-01-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag