US20080235492A1 - Apparatus for compressing instruction word for parallel processing vliw computer and method for the same - Google Patents

Apparatus for compressing instruction word for parallel processing vliw computer and method for the same Download PDF

Info

Publication number
US20080235492A1
US20080235492A1 US11/838,511 US83851107A US2008235492A1 US 20080235492 A1 US20080235492 A1 US 20080235492A1 US 83851107 A US83851107 A US 83851107A US 2008235492 A1 US2008235492 A1 US 2008235492A1
Authority
US
United States
Prior art keywords
instruction word
instruction
words
effective
nop
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.)
Granted
Application number
US11/838,511
Other versions
US7774581B2 (en
Inventor
Chang-Woo Baek
Hong-seok Kim
Hee Seok Kim
Jeongwook KIM
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Assigned to SAMSUNG ELECTRONICS CO., LTD. reassignment SAMSUNG ELECTRONICS CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BAEK, CHANG-WOO, KIM, HEE SEOK, KIM, HONG-SEOK, KIM, JEONGWOOK
Publication of US20080235492A1 publication Critical patent/US20080235492A1/en
Application granted granted Critical
Publication of US7774581B2 publication Critical patent/US7774581B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30156Special purpose encoding of instructions, e.g. Gray coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Definitions

  • Methods and apparatuses consistent with the present invention relate to an instruction set architecture (ISA) on a computer architecture. More particularly, the present invention relates to an instruction word compression apparatus and an instruction word compression method for a very long instruction word (VLIW) computer.
  • ISA instruction set architecture
  • VLIW very long instruction word
  • a very long instruction word (VLIW) computer includes a plurality of functional units which simultaneously executes instruction words, and is configured in a computer architecture capable of reducing a requirement for executing all instructions by distributing input instruction words to functional units.
  • a number of instruction words which can be executed simultaneously are determined by a number of the plurality of functional units, and a number of effective instruction words, which can be simultaneously executed at each execution time, may be less than an ideal maximum number due to dependency between input effective instruction words.
  • NOP no operation
  • the parallel bit may not be applicable to a method of allocating a functional unit for an instruction based on a location of the instruction within an instruction group.
  • an interconnect network is additionally required for the parallel bit. The interconnect network sends an instruction to be executed to the functional unit which supports the instruction to be executed.
  • the implementation of the parallel bit is significantly complex.
  • An aspect of the present invention provides an instruction word compression apparatus and an instruction word compression method which can reduce a storage space for an instruction without requiring an additional storage space or an additional circuit logic while still having an advantage of a parallel processing VLIW computer.
  • Another aspect of the present invention also provides an instruction word compression apparatus and an instruction word compression method which can acquire an instruction word set that is optimal for performance in a parallel function unit in a parallel processing VLIW computer.
  • an instruction word compression apparatus including: an index code generation unit sequentially generating an index code, which is associated with a number of no operation (NOP) instruction words between effective instruction words, with respect to each of instruction word groups to be executed in a very long instruction word (VLIW) computer; an instruction compression unit sequentially deleting the NOP instruction words which correspond to the index code with respect to the each of instruction word groups; and an instruction word conversion unit converting the effective instruction words to include the index code, the effective instruction words corresponding to the NOP instruction words.
  • NOP no operation
  • an instruction word compression method sequentially generating an index code, which is associated with a number of no operation (NOP) instruction words between effective instruction words, with respect to each of instruction word groups to be executed in a very long instruction word (VLIW) computer; sequentially deleting the NOP instruction words which correspond to the index code, with respect to the each of instruction word groups; and converting at least one of the effective instruction words to include the index code, the effective instruction words corresponding to the deleted NOP instruction word.
  • NOP no operation
  • FIG. 1 is a block diagram illustrating an instruction word compression apparatus according to an exemplary embodiment of the present invention
  • FIG. 2 is a diagram illustrating operations where an instruction word group is compressed by an instruction word compression apparatus according to an exemplary embodiment of the present invention
  • FIG. 3 is a diagram illustrating operations where an instruction word group is compressed by an instruction word compression apparatus according to another exemplary embodiment of the present invention
  • FIG. 4 is a block diagram illustrating an instruction word compression apparatus according to another exemplary embodiment of the present invention.
  • FIG. 5 is a diagram illustrating operations where an instruction word group is compressed by an instruction word compression apparatus according to another exemplary embodiment of the present invention
  • FIG. 6 is a flowchart illustrating an instruction word compression method according to an exemplary embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating an instruction word compression method according to another exemplary embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating an instruction word compression apparatus according to an exemplary embodiment of the present invention.
  • the instruction word compression apparatus includes an index code generation unit 110 , an instruction word compression unit 120 , and an instruction word conversion unit 130 .
  • the index code generation unit 110 sequentially generates an index code, which is associated with a number of no operation (NOP) instruction words between effective instruction words, with respect to each of instruction word groups to be executed in a very long instruction word (VLIW) computer.
  • NOP no operation
  • VLIW very long instruction word
  • a NOP instruction word indicates an instruction word which corresponds to a case of executing no operation at a predetermined execution time
  • an effective instruction word indicates all instruction words except the NOP instruction word.
  • the VLIW computer has a computer architecture capable of reducing the total execution time of an instruction by including functional units to simultaneously execute instruction words, and by distributing input instruction words to functional units.
  • a number of instruction words is determined by a number of functional units, and a number of effective instruction words that can be simultaneously executed at each execution time may be less than an ideal maximum number due to dependency between input effective instruction words.
  • an instruction word group consisting of instruction words being simultaneously executed at each execution time.
  • the number of the effective instruction words is less than the ideal maximum number due to the dependency, may be included.
  • the NOP instruction words may be included in remaining space.
  • the instruction word compression unit 120 sequentially deletes the NOP instruction words which correspond to the index code with respect to the each of instruction word groups.
  • each instruction word group having deleted NOP instruction words may include fewer instruction words than initial instruction word groups.
  • the number of the NOP instruction words being associated with the index code may be limited by a size of the index code.
  • a number of NOP instruction words that can be indicated by the index code may range from zero to three bits.
  • the sequentially deleted NOP instruction words are limited by the index code, because the NOP instruction words may be deleted within a range that the index code indicates.
  • the sequentially deleted NOP instruction words correspond to an initial three NOPs from a head, and a final two NOPs from a tail remain.
  • the instruction word conversion unit 130 converts the effective instruction words to include the index code, the effective instruction words corresponding to the deleted NOP instruction words.
  • the number of the NOP instruction word being associated with the index code may be limited by a size of the index code.
  • the instruction word conversion unit 130 may include a remaining NOP manipulator, the remaining NOP manipulator manipulates a remaining NOP instruction word to include a predetermined index code.
  • the remaining NOP instruction word remained after sequentially deleting the NOP instruction words.
  • NOP instruction words When five NOP instruction words exist between the effective instruction words, and when a number of the NOP instruction words that can be indicated by the index code, ranges from zero to three.
  • the sequentially deleted NOP instruction words correspond to an initial three NOPs from a head, and a final two NOPs from a tail remain.
  • the remaining NOP manipulator manipulates the remaining two NOP instruction words to include the index code.
  • the predetermined index code may be an index code corresponding to when a number of the NOP instruction word is zero.
  • the instruction word conversion unit 130 converts the effective instruction word to include the index code, the effective instruction word is located prior to the deleted NOP instruction word.
  • the instruction word conversion unit 130 converts the effective instruction word to include the index code, the effective instruction word is located prior to the deleted three NOPs, when the three NOPs between two effective instruction words are deleted.
  • a size of instruction word groups is equal to a maximum number of instruction words that can be simultaneously executed in the computer.
  • the VLIW computer has a computer architecture capable of reducing total execution time of instruction by including functional units to simultaneously execute instruction words, and by distributing input instruction words to functional units.
  • a number of instruction words that can be simultaneously executed in the VLIW computer is determined by a number of the functional units.
  • the index code may include a predetermined code which indicates to that all remaining instruction words are NOP instruction words.
  • index code when the index code consists of two bits, and when the index code has a value of “01”, this value denotes that instruction words locating after the effective instruction words in the instruction word group are all NOP instruction words.
  • a size of the index code may be previously determined based on at least one of an architecture of an instruction word and an operation environment of the computer.
  • the size of the index code may be previously determined before the instruction word is executed.
  • the size of the index code may be previously determined based on a size of the instruction word or a size of each area being allocated to within the instruction word.
  • the instruction conversion unit 130 may substitute a part of the effective instruction words with the index code.
  • the instruction conversion unit 130 may substitute the part of the effective instruction words with the index code.
  • FIG. 2 is a diagram illustrating operations where an instruction word group 210 is compressed by an instruction word compression apparatus according to an exemplary embodiment of the present invention.
  • the instruction word group 210 includes eight instruction words 211 , 212 , 213 , 214 , 215 , 216 , 217 , and 218 .
  • An index code is generated with respect to NOP instruction words 212 , 214 , 216 , and 217 , and the NOP instruction words 212 , 214 , 216 , and 217 are deleted.
  • a compressed instruction word group 220 includes four effective instruction words 221 , 223 , 225 , and 228 , and excludes deleted four NOP instruction words 222 , 224 , 226 , and 227 , which are associated with the four NOP instruction words 212 , 214 , 216 , and 217 .
  • a generated index code is “01”
  • the index code “01” is included in the effective instruction word 211 existing prior to the deleted NOP instruction word 212 , and thereby the first effective instruction word 221 is generated in the compressed instruction word group 220 .
  • a generated index code is “01”.
  • index code “01” is included in the effective instruction word 213 existing prior to the deleted NOP instruction word 214 , and thereby the second effective instruction word 223 is generated in the compressed instruction word group 220 .
  • index code “10” is included in the effective instruction word 215 existing prior to the deleted NOP instruction words 216 and 217 and thereby the third effective instruction word 225 is generated in the compressed instruction word group 220 .
  • an index code includes the fourth effective instruction word 228 in the compressed instruction word group 220 may take any one value of “00”, “01”, “10”, and “11”.
  • FIG. 3 is a diagram illustrating operations where an instruction word group 310 is compressed by an instruction word compression apparatus according to another exemplary embodiment of the present invention.
  • the instruction word group 310 includes eight instruction words 311 , 312 , 313 , 314 , 315 , 316 , 317 , and 318 .
  • An index code is generated with respect to the NOP instruction words 312 , 313 , 314 , 317 , and 318 , and the NOP instruction words 312 , 313 , 314 , 317 , and 318 are deleted.
  • a compressed instruction group 320 includes three instruction words 321 , 325 , and 326 , and excludes deleted five NOP instruction words 322 , 323 , 324 , 327 , and 328 , which are associated with the five NOP instruction words 312 , 313 , 314 , 317 , and 318 .
  • NOP instruction words 312 , 313 , 314 , and 315 exists between the first effective instruction word 311 and the second effective instruction word 316 and since a size of an index code is two bits, the three NOP instruction words 312 , 313 , and 314 are sequentially deleted and an index code “11” is generated.
  • the index code is included in the effective instruction word 311 existing prior to the deleted NOP instruction words 312 , 313 , and 314 , and the first instruction word 321 is generated in the compressed instruction word group 320 .
  • a predetermined index code “00” is included in the undeleted NOP instruction word 315 , and the second instruction word 325 is generated in the compressed instruction word group 320 .
  • an index code “10” is generated.
  • the index code “10” included in the effective instruction word 316 existing prior to the deleted NOP instruction words 317 and 318 , and the third instruction word 326 is generated in the compressed instruction word group 320 . Since a group is terminated by the two NOP instruction words 317 and 318 existing after the second effective instruction word 316 , an index code included in the third instruction word 326 may be “11”.
  • FIG. 4 is a block diagram illustrating an instruction word compression apparatus according to an exemplary embodiment of the present invention.
  • the instruction word compression apparatus includes an indication code generation unit 410 , an instruction word compression unit 420 , and an instruction word conversion unit 430 .
  • the indication code generation unit 410 sequentially generates indication codes which correspond to each parallel functional units to simultaneously execute instruction words in a VLIW computer.
  • a size of the indication code is required to be equal to a size capable of corresponding to each of the parallel functional units.
  • a size of the indication code is required to be four bits.
  • the instruction word compression unit 420 sequentially generates an instruction word set which exclusively includes an effective instruction word with respect to each of instruction word groups to be executed in the VLIW computer.
  • the instruction word conversion unit 430 converts the effective instruction words to include the indication code sequentially.
  • the effective instruction words are in the instruction word set.
  • the instruction word conversion unit 430 converts the effective instruction words to include the indication code sequentially by considering operational capability of a functional unit correspond to indication code and a type of the effective instruction word.
  • the instruction word conversion unit 430 may assign the indication code “01” in the first effective instruction word, instead of the indication code “00”.
  • FIG. 5 is a diagram illustrating operations where an instruction word group 510 is compressed by an instruction word compression apparatus according to another exemplary embodiment of the present invention.
  • the instruction word group 510 includes four instruction words 511 , 512 , 513 , and 514 .
  • An instruction word compression unit generates an instruction word set which exclusively includes effective instruction words 511 and 514 sequentially.
  • An instruction word conversion unit assigns an indication code “00” to the first effective instruction word 511 to generate a first converted effective instruction word 521 .
  • the instruction word conversion unit assigns an indication code “11” to the fourth effective instruction word 514 to generate a second converted effective instruction word 524 .
  • the indication code “11” indicates that the instruction word 514 is the fourth of the instruction set 510 .
  • the instruction word group 510 is converted to an instruction word set 520 by being putted into the instruction word compression word unit and the instruction word conversion unit.
  • the converted instruction word set 520 excludes two NOP 522 and 523 .
  • the instruction word conversion unit may assign an indication code in the effective instruction word, the indication code reflecting order relations in the instruction word group.
  • FIG. 6 is a flowchart illustrating an instruction word compression method according to an exemplary embodiment of the present invention.
  • the instruction word compression method sequentially generates an index code, which is associated with a number of NOP instruction words between effective instruction words, with respect to each of instruction word groups to be executed in a VLIW computer.
  • the VLIW computer has a computer architecture capable of reducing total execution time of instruction by including functional units to simultaneously execute instruction words, and by distributing input instruction words to functional units.
  • a number of instruction words is determined by a number of the functional units, and a number of effective instruction words that can be simultaneously executed at each execution time, may be less than an ideal maximum number due to dependency between input effective instruction words.
  • an instruction word group consisting of instruction words being simultaneously executed at each execution time
  • a number of effective instruction words being less than an ideal maximum number due to the dependency may be included
  • the NOP instruction words may be included in remaining space.
  • the instruction word compression method sequentially deletes the NOP instruction words which correspond to the index code with respect to each of the instruction word groups.
  • each of the instruction word groups having deleted NOP instruction words may include fewer instruction words than initial instruction word groups.
  • the number of the NOP instruction words being associated with the index code may be limited by a size of the index code.
  • a number of NOP instruction words that can be indicated by the index code may range from zero to three.
  • the NOP instruction words may be deleted within a range that the index code indicates.
  • the sequentially deleted NOP instruction words correspond to an initial three NOPs from a head, and a final two NOPs from a tail remain.
  • the instruction word compression method converts the effective instruction words to include the index code, the effective instruction words corresponding to the NOP instruction words.
  • the number of the NOP instruction words associated with the index code may be limited by a size of the index code.
  • the converting of the effective instruction words to include the index code comprises converting a remaining NOP to include a predetermined index code, the reaming NOP remains after the sequential deletion of NOPs.
  • the sequentially deleted NOP instruction words correspond to an initial three NOPs from a head, and a final two NOPs from a tail remain.
  • the converting of the effective instruction words to include the index code assigns index codes to each of two remaining NOPs.
  • the assigned index codes may have value indicates that there is no NOP.
  • the converting of the effective instruction words to include the index code assigns an index code to the effective index code, the effective index code is located prior to the deleted NOPs.
  • the converting of the effective instruction words to include the index code assigns the index code to a first effective instruction word, the first effective instruction word exists prior to the deleted three NOPs, when the three NOPs between the first effective instruction word and a second effective instruction word are having been deleted.
  • a maximum number of instruction word groups is equal to a maximum number of instruction words that can be simultaneously executed in the computer.
  • the VLIW computer has a computer architecture capable of reducing total execution time of instruction by including functional units to simultaneously execute instruction words, and by distributing input instruction words to functional units.
  • a number of instruction words that can be simultaneously executed in the VLIW computer is determined by a number of functional units.
  • the index code may include a predetermined code which corresponds to a case that all remaining instruction words are NOP instruction words.
  • index code when the index code consists of two bits, and when the index code has a value of “01”, this denotes that instruction words existing after the effective instruction words in the instruction word group are NOP instruction words.
  • a size of the index code may be previously determined based on at least one of an architecture of an instruction word and an operation environment of the computer.
  • the size of the index code may be previously determined before the instruction word is executed.
  • the size of the index code may be previously determined based on a size of the instruction word or a size of each area being allocated to within the instruction word.
  • the converting of the effective instruction words to include the index code may substitute a part of the effective instruction words with the index code.
  • the converting of the effective instruction words to include the index code may substitute a part of the effective instruction words with the index code, the part of the effective instruction words being not used.
  • FIG. 7 is a flowchart illustrating an instruction word compression method according to an exemplary embodiment of the present invention.
  • the instruction word compression method sequentially generates indication codes which correspond to each parallel functional unit to simultaneously execute instruction words in a VLIW computer.
  • a size of the indication code is required to be equal to a size capable of corresponding to each of the parallel functional units.
  • a size of the indication code is required to be four bits.
  • the instruction word compression method sequentially generates an instruction word set which exclusively include an effective instruction word with respect to each of instruction word groups to be executed in the VLIW computer.
  • the instruction word compression method sequentially converts each of the effective instruction words of the instruction word set to include the indication code.
  • the sequentially converting of each of the effective instruction words of the instruction word set to include the indication code may convert each of the effective words to include the indication code by considering operational capability of a functional unit corresponding to each of the indication codes and a type of the effective instruction word.
  • the instruction word conversion unit 430 may include the indication code “01” in the first effective instruction word, instead of the indication code “00”.
  • FIG. 5 is a diagram illustrating operations where an instruction word group 510 is compressed by an instruction word compression method according to another exemplary embodiment of the present invention.
  • the instruction word group 510 includes four instruction words 511 , 512 , 513 , and 514 .
  • the sequentially generating an instruction word set generates an instruction word set which exclusively includes effective instruction words 511 and 514 sequentially.
  • each of the effective instruction words assigns an indication code “00” to the first effective instruction word 511 to generate a first converted effective instruction word 521 .
  • each of the effective instruction words assigns an indication code “11” to the fourth effective instruction word 514 to generate a second converted effective instruction word 524 .
  • the indication code “11” indicates that the instruction word 514 is the fourth of the instruction set 510 .
  • the instruction word group 510 is converted to the instruction word set 520 .
  • the converted instruction word set 520 excludes two NOP 522 and 523 .
  • the sequentially converting of each of the effective instruction words of the instruction word set to include the indication code may include the indication code in the effective instruction word, the indication code reflecting order relations in the instruction word group.
  • the instruction word compression method may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer.
  • the media may also include, alone or in combination with the program instructions, data files, data structures, and the like.
  • Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVD; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like.
  • the media may also be a transmission medium such as optical or metallic lines, wave guides, and the like, including a carrier wave transmitting signals specifying the program instructions, data structures, and the like.
  • Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.
  • the described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described embodiments of the present invention.
  • an instruction word compression unit and an instruction word compression method which can reduce a storage space for an instruction, without requiring an additional storage space or an additional circuit logic.
  • an optimized instruction word set may be acquired by performance of a parallel function apparatus.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

An apparatus and a method are provided for a parallel processing very long instruction word (VLIW) computer. The apparatus includes: an index code generation unit sequentially generating an index code, which is associated with a number of no operation (NOP) instruction word between effective instruction words, with respect to each of instruction word groups to be executed in a VLIW computer; an instruction compression unit sequentially deleting the NOP instruction word which corresponds to the index code with respect to each of instruction word groups; and an instruction word conversion unit converting the effective instruction words to include the index code, the effective instruction words corresponding to the NOP instruction words.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application claims priority from Korean Patent Application No. 10-2007-0028813, filed on Mar. 23, 2007, in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • Methods and apparatuses consistent with the present invention relate to an instruction set architecture (ISA) on a computer architecture. More particularly, the present invention relates to an instruction word compression apparatus and an instruction word compression method for a very long instruction word (VLIW) computer.
  • 2. Description of Related Art
  • A very long instruction word (VLIW) computer includes a plurality of functional units which simultaneously executes instruction words, and is configured in a computer architecture capable of reducing a requirement for executing all instructions by distributing input instruction words to functional units.
  • A number of instruction words which can be executed simultaneously are determined by a number of the plurality of functional units, and a number of effective instruction words, which can be simultaneously executed at each execution time, may be less than an ideal maximum number due to dependency between input effective instruction words.
  • In this instance, a no operation (NOP) instruction word is allocated to a functional unit that is not being operated at each execution time, and thereby a number of instruction words required to be stored at each execution time is increased. Accordingly, a study regarding an instruction compression method has been made to reduce additional storage space. An end code that informs about an end of an effective instruction group and a parallel bit are used in the instruction compression method.
  • However, with respect to the end code, a complex instruction allocation logic is required, and a size of the end code is too great. The parallel bit may not be applicable to a method of allocating a functional unit for an instruction based on a location of the instruction within an instruction group. Also, an interconnect network is additionally required for the parallel bit. The interconnect network sends an instruction to be executed to the functional unit which supports the instruction to be executed. The implementation of the parallel bit is significantly complex.
  • Accordingly, with respect to the parallel processing VLIW computer, a more effective instruction word compression method is earnestly required.
  • SUMMARY OF THE INVENTION
  • An aspect of the present invention provides an instruction word compression apparatus and an instruction word compression method which can reduce a storage space for an instruction without requiring an additional storage space or an additional circuit logic while still having an advantage of a parallel processing VLIW computer.
  • Another aspect of the present invention also provides an instruction word compression apparatus and an instruction word compression method which can acquire an instruction word set that is optimal for performance in a parallel function unit in a parallel processing VLIW computer.
  • According to an aspect of the present invention, there is provided an instruction word compression apparatus including: an index code generation unit sequentially generating an index code, which is associated with a number of no operation (NOP) instruction words between effective instruction words, with respect to each of instruction word groups to be executed in a very long instruction word (VLIW) computer; an instruction compression unit sequentially deleting the NOP instruction words which correspond to the index code with respect to the each of instruction word groups; and an instruction word conversion unit converting the effective instruction words to include the index code, the effective instruction words corresponding to the NOP instruction words.
  • According to another aspect of the present invention, there is provided an instruction word compression method: sequentially generating an index code, which is associated with a number of no operation (NOP) instruction words between effective instruction words, with respect to each of instruction word groups to be executed in a very long instruction word (VLIW) computer; sequentially deleting the NOP instruction words which correspond to the index code, with respect to the each of instruction word groups; and converting at least one of the effective instruction words to include the index code, the effective instruction words corresponding to the deleted NOP instruction word.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other aspects of the present invention will become apparent and more readily appreciated from the following detailed description of certain exemplary embodiments of the invention, taken in conjunction with the accompanying drawings of which:
  • FIG. 1 is a block diagram illustrating an instruction word compression apparatus according to an exemplary embodiment of the present invention;
  • FIG. 2 is a diagram illustrating operations where an instruction word group is compressed by an instruction word compression apparatus according to an exemplary embodiment of the present invention;
  • FIG. 3 is a diagram illustrating operations where an instruction word group is compressed by an instruction word compression apparatus according to another exemplary embodiment of the present invention;
  • FIG. 4 is a block diagram illustrating an instruction word compression apparatus according to another exemplary embodiment of the present invention;
  • FIG. 5 is a diagram illustrating operations where an instruction word group is compressed by an instruction word compression apparatus according to another exemplary embodiment of the present invention;
  • FIG. 6 is a flowchart illustrating an instruction word compression method according to an exemplary embodiment of the present invention; and
  • FIG. 7 is a flowchart illustrating an instruction word compression method according to another exemplary embodiment of the present invention.
  • DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
  • Reference will now be made in detail to exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The exemplary embodiments are described below in order to explain the present invention by referring to the figures.
  • FIG. 1 is a block diagram illustrating an instruction word compression apparatus according to an exemplary embodiment of the present invention.
  • Referring to FIG. 1, the instruction word compression apparatus according to an exemplary embodiment of the present invention includes an index code generation unit 110, an instruction word compression unit 120, and an instruction word conversion unit 130.
  • The index code generation unit 110 sequentially generates an index code, which is associated with a number of no operation (NOP) instruction words between effective instruction words, with respect to each of instruction word groups to be executed in a very long instruction word (VLIW) computer.
  • In the instruction word group, a NOP instruction word indicates an instruction word which corresponds to a case of executing no operation at a predetermined execution time, and an effective instruction word indicates all instruction words except the NOP instruction word.
  • The VLIW computer has a computer architecture capable of reducing the total execution time of an instruction by including functional units to simultaneously execute instruction words, and by distributing input instruction words to functional units.
  • A number of instruction words is determined by a number of functional units, and a number of effective instruction words that can be simultaneously executed at each execution time may be less than an ideal maximum number due to dependency between input effective instruction words.
  • In this instance, an instruction word group consisting of instruction words being simultaneously executed at each execution time may exist. The number of the effective instruction words is less than the ideal maximum number due to the dependency, may be included. The NOP instruction words may be included in remaining space.
  • The instruction word compression unit 120 sequentially deletes the NOP instruction words which correspond to the index code with respect to the each of instruction word groups.
  • In this instance, each instruction word group having deleted NOP instruction words may include fewer instruction words than initial instruction word groups.
  • In this instance, the number of the NOP instruction words being associated with the index code may be limited by a size of the index code.
  • When the index code consists of two bits, a number of NOP instruction words that can be indicated by the index code may range from zero to three bits.
  • In this instance, the sequentially deleted NOP instruction words are limited by the index code, because the NOP instruction words may be deleted within a range that the index code indicates.
  • When five NOP instruction words exist between the effective instruction words, and when the number of the NOP instruction words that can be indicated by the index code ranges from zero to three, the sequentially deleted NOP instruction words correspond to an initial three NOPs from a head, and a final two NOPs from a tail remain.
  • The instruction word conversion unit 130 converts the effective instruction words to include the index code, the effective instruction words corresponding to the deleted NOP instruction words.
  • In this instance, the number of the NOP instruction word being associated with the index code may be limited by a size of the index code.
  • In this instance, the instruction word conversion unit 130 may include a remaining NOP manipulator, the remaining NOP manipulator manipulates a remaining NOP instruction word to include a predetermined index code. The remaining NOP instruction word remained after sequentially deleting the NOP instruction words.
  • When five NOP instruction words exist between the effective instruction words, and when a number of the NOP instruction words that can be indicated by the index code, ranges from zero to three. The sequentially deleted NOP instruction words correspond to an initial three NOPs from a head, and a final two NOPs from a tail remain.
  • The remaining NOP manipulator manipulates the remaining two NOP instruction words to include the index code.
  • The predetermined index code may be an index code corresponding to when a number of the NOP instruction word is zero.
  • In this instance, the instruction word conversion unit 130 converts the effective instruction word to include the index code, the effective instruction word is located prior to the deleted NOP instruction word.
  • The instruction word conversion unit 130 converts the effective instruction word to include the index code, the effective instruction word is located prior to the deleted three NOPs, when the three NOPs between two effective instruction words are deleted.
  • In this instance, a size of instruction word groups is equal to a maximum number of instruction words that can be simultaneously executed in the computer.
  • The VLIW computer has a computer architecture capable of reducing total execution time of instruction by including functional units to simultaneously execute instruction words, and by distributing input instruction words to functional units.
  • A number of instruction words that can be simultaneously executed in the VLIW computer is determined by a number of the functional units.
  • In this instance, the index code may include a predetermined code which indicates to that all remaining instruction words are NOP instruction words.
  • For example, when the index code consists of two bits, and when the index code has a value of “01”, this value denotes that instruction words locating after the effective instruction words in the instruction word group are all NOP instruction words.
  • In this instance, a size of the index code may be previously determined based on at least one of an architecture of an instruction word and an operation environment of the computer.
  • The size of the index code may be previously determined before the instruction word is executed.
  • The size of the index code may be previously determined based on a size of the instruction word or a size of each area being allocated to within the instruction word.
  • In this instance, the instruction conversion unit 130 may substitute a part of the effective instruction words with the index code.
  • The instruction conversion unit 130 may substitute the part of the effective instruction words with the index code.
  • FIG. 2 is a diagram illustrating operations where an instruction word group 210 is compressed by an instruction word compression apparatus according to an exemplary embodiment of the present invention.
  • Referring to FIG. 2, the instruction word group 210 includes eight instruction words 211, 212, 213, 214, 215, 216, 217, and 218.
  • An index code is generated with respect to NOP instruction words 212, 214, 216, and 217, and the NOP instruction words 212, 214, 216, and 217 are deleted.
  • A compressed instruction word group 220 includes four effective instruction words 221, 223, 225, and 228, and excludes deleted four NOP instruction words 222, 224, 226, and 227, which are associated with the four NOP instruction words 212, 214, 216, and 217.
  • Since one NOP 212 exists between the first effective instruction word 211 and the second effective instruction word 213, a generated index code is “01”, the index code “01” is included in the effective instruction word 211 existing prior to the deleted NOP instruction word 212, and thereby the first effective instruction word 221 is generated in the compressed instruction word group 220.
  • Since one NOP 214 exists between the second effective instruction word 213 and the third effective instruction word 215, a generated index code is “01”.
  • And the index code “01” is included in the effective instruction word 213 existing prior to the deleted NOP instruction word 214, and thereby the second effective instruction word 223 is generated in the compressed instruction word group 220.
  • Since two NOP, 216 and 217, exists between the third effective instruction word 215 and the fourth effective instruction word 218, a generated index code is “10”.
  • And the index code “10” is included in the effective instruction word 215 existing prior to the deleted NOP instruction words 216 and 217 and thereby the third effective instruction word 225 is generated in the compressed instruction word group 220.
  • Since the fourth effective instruction word 218 is a last instruction word, an NOP instruction word can not exist after the fourth effective instruction word 218. Accordingly, an index code includes the fourth effective instruction word 228 in the compressed instruction word group 220 may take any one value of “00”, “01”, “10”, and “11”.
  • FIG. 3 is a diagram illustrating operations where an instruction word group 310 is compressed by an instruction word compression apparatus according to another exemplary embodiment of the present invention.
  • Referring to FIG. 3, the instruction word group 310 includes eight instruction words 311, 312, 313, 314, 315, 316, 317, and 318.
  • An index code is generated with respect to the NOP instruction words 312, 313, 314, 317, and 318, and the NOP instruction words 312, 313, 314, 317, and 318 are deleted.
  • A compressed instruction group 320 includes three instruction words 321, 325, and 326, and excludes deleted five NOP instruction words 322, 323, 324, 327, and 328, which are associated with the five NOP instruction words 312, 313, 314, 317, and 318.
  • Since four NOP instruction words 312, 313, 314, and 315 exists between the first effective instruction word 311 and the second effective instruction word 316 and since a size of an index code is two bits, the three NOP instruction words 312, 313, and 314 are sequentially deleted and an index code “11” is generated. The index code is included in the effective instruction word 311 existing prior to the deleted NOP instruction words 312, 313, and 314, and the first instruction word 321 is generated in the compressed instruction word group 320.
  • A predetermined index code “00” is included in the undeleted NOP instruction word 315, and the second instruction word 325 is generated in the compressed instruction word group 320.
  • Since two NOP instruction words 317 and 318 exists after the second effective instruction word 316, an index code “10” is generated. The index code “10” included in the effective instruction word 316 existing prior to the deleted NOP instruction words 317 and 318, and the third instruction word 326 is generated in the compressed instruction word group 320. Since a group is terminated by the two NOP instruction words 317 and 318 existing after the second effective instruction word 316, an index code included in the third instruction word 326 may be “11”.
  • FIG. 4 is a block diagram illustrating an instruction word compression apparatus according to an exemplary embodiment of the present invention.
  • Referring to FIG. 4, the instruction word compression apparatus according to the exemplary embodiment of the present invention includes an indication code generation unit 410, an instruction word compression unit 420, and an instruction word conversion unit 430.
  • The indication code generation unit 410 sequentially generates indication codes which correspond to each parallel functional units to simultaneously execute instruction words in a VLIW computer.
  • In this instance, a size of the indication code is required to be equal to a size capable of corresponding to each of the parallel functional units. When sixteen parallel functional units exist, a size of the indication code is required to be four bits.
  • The instruction word compression unit 420 sequentially generates an instruction word set which exclusively includes an effective instruction word with respect to each of instruction word groups to be executed in the VLIW computer.
  • The instruction word conversion unit 430 converts the effective instruction words to include the indication code sequentially. The effective instruction words are in the instruction word set.
  • In this instance, the instruction word conversion unit 430 converts the effective instruction words to include the indication code sequentially by considering operational capability of a functional unit correspond to indication code and a type of the effective instruction word.
  • If the indication code is two bits, a functional unit corresponding to an indication code “01” is capable of all types of operations, a functional unit corresponding to an indication code “00” is capable of four arithmetical operations, and a first effective instruction order in an instruction word group is a “comparing” operation, then the instruction word conversion unit 430 may assign the indication code “01” in the first effective instruction word, instead of the indication code “00”.
  • FIG. 5 is a diagram illustrating operations where an instruction word group 510 is compressed by an instruction word compression apparatus according to another exemplary embodiment of the present invention.
  • Referring to FIG. 5, the instruction word group 510 includes four instruction words 511, 512, 513, and 514.
  • An instruction word compression unit generates an instruction word set which exclusively includes effective instruction words 511 and 514 sequentially.
  • An instruction word conversion unit assigns an indication code “00” to the first effective instruction word 511 to generate a first converted effective instruction word 521.
  • The instruction word conversion unit assigns an indication code “11” to the fourth effective instruction word 514 to generate a second converted effective instruction word 524.
  • The indication code “11” indicates that the instruction word 514 is the fourth of the instruction set 510.
  • The instruction word group 510 is converted to an instruction word set 520 by being putted into the instruction word compression word unit and the instruction word conversion unit.
  • The converted instruction word set 520 excludes two NOP 522 and 523.
  • In this instance, the instruction word conversion unit may assign an indication code in the effective instruction word, the indication code reflecting order relations in the instruction word group.
  • FIG. 6 is a flowchart illustrating an instruction word compression method according to an exemplary embodiment of the present invention.
  • Referring to FIG. 6, in operation S610, the instruction word compression method according to an exemplary embodiment of the present invention sequentially generates an index code, which is associated with a number of NOP instruction words between effective instruction words, with respect to each of instruction word groups to be executed in a VLIW computer.
  • The VLIW computer has a computer architecture capable of reducing total execution time of instruction by including functional units to simultaneously execute instruction words, and by distributing input instruction words to functional units.
  • A number of instruction words is determined by a number of the functional units, and a number of effective instruction words that can be simultaneously executed at each execution time, may be less than an ideal maximum number due to dependency between input effective instruction words.
  • In this instance, an instruction word group consisting of instruction words being simultaneously executed at each execution time may exist, a number of effective instruction words being less than an ideal maximum number due to the dependency may be included, and the NOP instruction words may be included in remaining space.
  • In operation S620, the instruction word compression method according to an exemplary embodiment of the present invention sequentially deletes the NOP instruction words which correspond to the index code with respect to each of the instruction word groups.
  • In this instance, each of the instruction word groups having deleted NOP instruction words may include fewer instruction words than initial instruction word groups.
  • In this instance, the number of the NOP instruction words being associated with the index code may be limited by a size of the index code.
  • When the index code consists of two bits, a number of NOP instruction words that can be indicated by the index code may range from zero to three.
  • In this instance, since the sequentially deleted NOP instruction words are limited to the index code, the NOP instruction words may be deleted within a range that the index code indicates.
  • When five NOP instruction words exist between the effective instruction words, and when the number of the NOP instruction words that can be indicated by the index code ranges from zero to three, the sequentially deleted NOP instruction words correspond to an initial three NOPs from a head, and a final two NOPs from a tail remain.
  • In operation S630, the instruction word compression method according to an exemplary embodiment of the present invention converts the effective instruction words to include the index code, the effective instruction words corresponding to the NOP instruction words.
  • In this instance, the number of the NOP instruction words associated with the index code may be limited by a size of the index code.
  • In this instance, the converting of the effective instruction words to include the index code comprises converting a remaining NOP to include a predetermined index code, the reaming NOP remains after the sequential deletion of NOPs.
  • When five NOP instruction words exist between the effective instruction words, and when the number of the NOP instruction words that can be indicated by the index code ranges from zero to three, the sequentially deleted NOP instruction words correspond to an initial three NOPs from a head, and a final two NOPs from a tail remain.
  • The converting of the effective instruction words to include the index code assigns index codes to each of two remaining NOPs.
  • The assigned index codes may have value indicates that there is no NOP.
  • In this instance, the converting of the effective instruction words to include the index code assigns an index code to the effective index code, the effective index code is located prior to the deleted NOPs.
  • The converting of the effective instruction words to include the index code assigns the index code to a first effective instruction word, the first effective instruction word exists prior to the deleted three NOPs, when the three NOPs between the first effective instruction word and a second effective instruction word are having been deleted.
  • In this instance, a maximum number of instruction word groups is equal to a maximum number of instruction words that can be simultaneously executed in the computer.
  • The VLIW computer has a computer architecture capable of reducing total execution time of instruction by including functional units to simultaneously execute instruction words, and by distributing input instruction words to functional units.
  • A number of instruction words that can be simultaneously executed in the VLIW computer is determined by a number of functional units.
  • In this instance, the index code may include a predetermined code which corresponds to a case that all remaining instruction words are NOP instruction words.
  • As an example, when the index code consists of two bits, and when the index code has a value of “01”, this denotes that instruction words existing after the effective instruction words in the instruction word group are NOP instruction words.
  • In this instance, a size of the index code may be previously determined based on at least one of an architecture of an instruction word and an operation environment of the computer.
  • The size of the index code may be previously determined before the instruction word is executed.
  • The size of the index code may be previously determined based on a size of the instruction word or a size of each area being allocated to within the instruction word.
  • In this instance, the converting of the effective instruction words to include the index code may substitute a part of the effective instruction words with the index code.
  • The converting of the effective instruction words to include the index code may substitute a part of the effective instruction words with the index code, the part of the effective instruction words being not used.
  • Methods of compressing are the same as the descriptions given above with reference to FIGS. 2 and 3 and therefore, detailed descriptions there of will be omitted.
  • FIG. 7 is a flowchart illustrating an instruction word compression method according to an exemplary embodiment of the present invention.
  • Referring to FIG. 7, in operation S710, the instruction word compression method according to another exemplary embodiment sequentially generates indication codes which correspond to each parallel functional unit to simultaneously execute instruction words in a VLIW computer.
  • In this instance, a size of the indication code is required to be equal to a size capable of corresponding to each of the parallel functional units. When sixteen parallel functional units exist, a size of the indication code is required to be four bits.
  • In operation S720, the instruction word compression method according to the current exemplary embodiment sequentially generates an instruction word set which exclusively include an effective instruction word with respect to each of instruction word groups to be executed in the VLIW computer.
  • In operation S730, the instruction word compression method according to the current exemplary embodiment sequentially converts each of the effective instruction words of the instruction word set to include the indication code.
  • In this instance, the sequentially converting of each of the effective instruction words of the instruction word set to include the indication code may convert each of the effective words to include the indication code by considering operational capability of a functional unit corresponding to each of the indication codes and a type of the effective instruction word.
  • When an indication code is two bits, when a functional unit corresponding to an indication code “01” is capable of all types of operations, when a functional unit corresponding to an indication code “00” is capable of four arithmetical operations, and when a first effective instruction order in an instruction word group is a comparing operation, the instruction word conversion unit 430 may include the indication code “01” in the first effective instruction word, instead of the indication code “00”.
  • FIG. 5 is a diagram illustrating operations where an instruction word group 510 is compressed by an instruction word compression method according to another exemplary embodiment of the present invention.
  • Referring to FIG. 5, the instruction word group 510 includes four instruction words 511, 512, 513, and 514.
  • The sequentially generating an instruction word set generates an instruction word set which exclusively includes effective instruction words 511 and 514 sequentially.
  • The sequentially converting each of the effective instruction words assigns an indication code “00” to the first effective instruction word 511 to generate a first converted effective instruction word 521.
  • The sequentially converting each of the effective instruction words assigns an indication code “11” to the fourth effective instruction word 514 to generate a second converted effective instruction word 524.
  • The indication code “11” indicates that the instruction word 514 is the fourth of the instruction set 510.
  • After operations of the sequentially generating of the instruction word set and the sequentially converting of each of the effective instruction words of the instruction word set to include the indication code, the instruction word group 510 is converted to the instruction word set 520.
  • The converted instruction word set 520 excludes two NOP 522 and 523.
  • In this instance, the sequentially converting of each of the effective instruction words of the instruction word set to include the indication code may include the indication code in the effective instruction word, the indication code reflecting order relations in the instruction word group.
  • The instruction word compression method according to the above-described exemplary embodiments may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVD; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. The media may also be a transmission medium such as optical or metallic lines, wave guides, and the like, including a carrier wave transmitting signals specifying the program instructions, data structures, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described embodiments of the present invention.
  • According to the present invention, there is provided an instruction word compression unit and an instruction word compression method which can reduce a storage space for an instruction, without requiring an additional storage space or an additional circuit logic.
  • According to the present invention, with respect to a parallel processing VLIW computer, an optimized instruction word set may be acquired by performance of a parallel function apparatus.
  • Although a few exemplary embodiments of the present invention have been shown and described, the present invention is not limited to the described exemplary embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these exemplary embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.

Claims (21)

1. An apparatus for compressing instruction words, comprising:
an index code generation unit which generates an index code for an instruction word group to be executed in a very long instruction word (VLIW) computer, wherein the index code is based on a number of no operation (NOP) instruction words between effective instruction words of the instruction word group;
an instruction compression unit which deletes a NOP instruction word of the number of NOP instructions words; and
an instruction word conversion unit which converts at least one effective instruction word of the effective instruction words to include the index code.
2. The apparatus of claim 1, wherein the number of NOP instruction words is limited by a size of the index code.
3. The apparatus of claim 2, wherein the instruction conversion unit comprises a remaining NOP manipulator which manipulates a remaining NOP instruction word to include a second index code, wherein the remaining NOP instruction word is not deleted from the instruction word group by the instruction compression unit.
4. The apparatus of claim 1, wherein the instruction word conversion unit converts an effective instruction word located before a deleted NOP instruction word in the instruction word group to include the index code.
5. The apparatus of claim 1, wherein a size of the instruction word group is equal to a maximum number of instruction words that the VLIW computer is operable to simultaneously execute.
6. The apparatus of claim 5, wherein the index code indicates that all remaining instruction words are NOP instruction words.
7. The apparatus of claim 1, wherein a size of the index code is determined based on at least one of an architecture of an instruction word and an operation environment of the VLIW computer.
8. The apparatus of claim 1, wherein the instruction conversion unit substitutes a part of the effective instruction word with the index code.
9. An instruction word compression apparatus, comprising:
an indication code generation unit which generates indication codes which correspond to each of a plurality of parallel functional units to simultaneously execute a plurality of instruction words in a very long instruction word (VLIW) computer;
an instruction word compression unit which generates an instruction word set which exclusively includes an effective instruction word of each instruction word group to be executed in the VLIW computer; and
an instruction word conversion unit which converts each effective instruction word of the instruction word set to include an indication code of the indication codes.
10. The apparatus of claim 9, wherein the instruction word conversion unit converts the effective instruction word of each instruction word group to include one of the indication codes based on operational capability of a functional unit of the plurality of parallel functional units corresponding to each of the indication codes and a type of each of the effective instruction words.
11. An instruction word compression method, comprising:
generating an index code for an instruction word group to be executed in a very long instruction word (VLIW) computer, wherein the index code is based on a number of no operation (NOP) instruction words between effective instruction words of the instruction word group;
deleting a NOP instruction word of the number of NOP instructions words; and
converting at least one effective instruction word of the effective instruction words to include the index code.
12. The method of claim 11, wherein the number of NOP instruction words is limited by a size of the index code.
13. The method of claim 12, wherein converting the at least one effective instruction word of the effective instructions words to include the index code comprises:
manipulating a remaining NOP instruction word to include a second index code, wherein the remaining NOP instruction word is not deleted from the instruction word group.
14. The method of claim 11, wherein the at least one effective instruction word converted to include the index code is located prior to a deleted NOP instruction word within the instruction word group.
15. The method of claim 11, wherein a size of the instruction word group is equal to a maximum number of instruction words the VLIW computer is operable to simultaneously execute.
16. The method of claim 15, wherein the index code indicates that all remaining instruction words are NOP instruction words.
17. The method of claim 11, wherein a size of the index code is determined based on at least one of an architecture of an instruction word and an operation environment of the VLIW computer.
18. The method of claim 11, wherein the converting the at least one effective instruction word to include the index code comprises substituting a part of the at least one effective instruction word with the index code.
19. An instruction word compression method, comprising:
generating indication codes which correspond to each of a plurality of parallel functional units to simultaneously execute a plurality of instruction words in a very long instruction word (VLIW) computer;
generating an instruction word set which exclusively includes an effective instruction word of each instruction word group to be executed in the VLIW computer; and
converting each of the effective instruction words to include the indication code, wherein the effective instruction words are elements of the instruction word set.
20. The method of claim 19, wherein converting each effective instruction word of each instruction word group to include the indication code comprises determining an operational capability of a functional unit of the plurality of parallel functional units corresponding to each of the indication codes and a type of each effective instruction word of each instruction word group.
21. A computer-readable storage medium storing software instructions adapted to enable a computer to compress an instruction word, the software instructions comprising:
generating an index code for an instruction word group to be executed in a very long instruction word (VLIW) computer, wherein the index code is based on a number of no operation (NOP) instruction words between effective instruction words of the instruction word group;
deleting a NOP instruction word of the number of NOP instructions words; and
converting at least one effective instruction word of the effective instruction words to include the index code.
US11/838,511 2007-03-23 2007-08-14 Apparatus for compressing instruction word for parallel processing VLIW computer and method for the same Active 2028-07-30 US7774581B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070028813A KR100875836B1 (en) 2007-03-23 2007-03-23 Instruction instruction compression apparatus and method for parallel processing BLU computer
KR10-2007-0028813 2007-03-23

Publications (2)

Publication Number Publication Date
US20080235492A1 true US20080235492A1 (en) 2008-09-25
US7774581B2 US7774581B2 (en) 2010-08-10

Family

ID=39775900

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/838,511 Active 2028-07-30 US7774581B2 (en) 2007-03-23 2007-08-14 Apparatus for compressing instruction word for parallel processing VLIW computer and method for the same

Country Status (2)

Country Link
US (1) US7774581B2 (en)
KR (1) KR100875836B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110202749A1 (en) * 2010-02-18 2011-08-18 Samsung Electronics Co., Ltd. Instruction compressing apparatus and method
CN102508690A (en) * 2011-11-11 2012-06-20 瑞斯康达科技发展股份有限公司 Storing method and decoding method for command line of embedded equipment
US20130031337A1 (en) * 2011-07-28 2013-01-31 Qualcomm Incorporated Methods and Apparatus for Storage and Translation of an Entropy Encoded Instruction Sequence to Executable Form
JP2013058203A (en) * 2011-09-08 2013-03-28 Samsung Electronics Co Ltd Apparatus and method for compressing instructions and computer-readable storage media
US20140317383A1 (en) * 2013-04-22 2014-10-23 Samsung Electronics Co., Ltd. Apparatus and method for compressing instruction for vliw processor, and apparatus and method for fetching instruction
US9201652B2 (en) 2011-05-03 2015-12-01 Qualcomm Incorporated Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy
US9348792B2 (en) 2012-05-11 2016-05-24 Samsung Electronics Co., Ltd. Coarse-grained reconfigurable processor and code decompression method thereof
US20170024216A1 (en) * 2014-03-12 2017-01-26 Samsung Electronics Co., Ltd. Method and device for processing vliw instruction, and method and device for generating instruction for processing vliw instruction
CN109753307A (en) * 2017-11-03 2019-05-14 北京思朗科技有限责任公司 Instruct storage method
US10379866B2 (en) * 2016-09-19 2019-08-13 Samsung Electronics Co., Ltd Electronic apparatus, VLIW processor and control methods for updating a multi-cycle no operation (NOP) instruction
TWI791699B (en) * 2017-12-05 2023-02-11 南韓商三星電子股份有限公司 Electronic device and method for processing instruction using the same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118593B1 (en) * 2008-12-03 2012-02-27 한국전자통신연구원 Apparatus and method for processing VLIW instruction
KR101645001B1 (en) * 2009-02-18 2016-08-02 삼성전자주식회사 Apparatus and method for generating VLIW instruction and VLIW processor and method for processing VLIW instruction
US20120317421A1 (en) * 2012-06-19 2012-12-13 Concurix Corporation Fingerprinting Executable Code
KR102149509B1 (en) * 2014-03-27 2020-08-28 삼성전자주식회사 method for compressing and decompressing configuration data

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819058A (en) * 1997-02-28 1998-10-06 Vm Labs, Inc. Instruction compression and decompression system and method for a processor
US5893143A (en) * 1995-06-28 1999-04-06 Hitachi, Ltd. Parallel processing unit with cache memories storing NO-OP mask bits for instructions
US6044450A (en) * 1996-03-29 2000-03-28 Hitachi, Ltd. Processor for VLIW instruction
US6275921B1 (en) * 1997-09-03 2001-08-14 Fujitsu Limited Data processing device to compress and decompress VLIW instructions by selectively storing non-branch NOP instructions
US6321318B1 (en) * 1997-12-31 2001-11-20 Texas Instruments Incorporated User-configurable on-chip program memory system
US20010047466A1 (en) * 2000-05-25 2001-11-29 Siroyan Limited Processors having compressed instructions and methods of compressing instructions for processors
US20040019762A1 (en) * 2002-07-25 2004-01-29 Hitachi, Ltd. Semiconductor integrated circuit
US6859870B1 (en) * 2000-03-07 2005-02-22 University Of Washington Method and apparatus for compressing VLIW instruction and sharing subinstructions
US20050050300A1 (en) * 2003-08-29 2005-03-03 May Philip E. Dataflow graph compression for power reduction in a vector processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55116141A (en) 1979-02-28 1980-09-06 Toshiba Corp Logical operation controller
JPH0281228A (en) 1988-09-19 1990-03-22 Fujitsu Ltd Address determining system for branch instruction in assembler
JP3692793B2 (en) 1998-09-04 2005-09-07 松下電器産業株式会社 Compiler, processor and recording medium
US6275929B1 (en) 1999-05-26 2001-08-14 Infineon Technologies Ag L. Gr. Delay-slot control mechanism for microprocessors
JP3730455B2 (en) 1999-10-01 2006-01-05 富士通株式会社 Information processing apparatus and information processing method

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893143A (en) * 1995-06-28 1999-04-06 Hitachi, Ltd. Parallel processing unit with cache memories storing NO-OP mask bits for instructions
US6044450A (en) * 1996-03-29 2000-03-28 Hitachi, Ltd. Processor for VLIW instruction
US5819058A (en) * 1997-02-28 1998-10-06 Vm Labs, Inc. Instruction compression and decompression system and method for a processor
US6275921B1 (en) * 1997-09-03 2001-08-14 Fujitsu Limited Data processing device to compress and decompress VLIW instructions by selectively storing non-branch NOP instructions
US6321318B1 (en) * 1997-12-31 2001-11-20 Texas Instruments Incorporated User-configurable on-chip program memory system
US6859870B1 (en) * 2000-03-07 2005-02-22 University Of Washington Method and apparatus for compressing VLIW instruction and sharing subinstructions
US20050102489A1 (en) * 2000-03-07 2005-05-12 University Of Washington Method and apparatus for compressing VLIW instruction and sharing subinstructions
US7409530B2 (en) * 2000-03-07 2008-08-05 University Of Washington Method and apparatus for compressing VLIW instruction and sharing subinstructions
US20010047466A1 (en) * 2000-05-25 2001-11-29 Siroyan Limited Processors having compressed instructions and methods of compressing instructions for processors
US20040019762A1 (en) * 2002-07-25 2004-01-29 Hitachi, Ltd. Semiconductor integrated circuit
US20050050300A1 (en) * 2003-08-29 2005-03-03 May Philip E. Dataflow graph compression for power reduction in a vector processor
US7290122B2 (en) * 2003-08-29 2007-10-30 Motorola, Inc. Dataflow graph compression for power reduction in a vector processor

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110202749A1 (en) * 2010-02-18 2011-08-18 Samsung Electronics Co., Ltd. Instruction compressing apparatus and method
US9286074B2 (en) * 2010-02-18 2016-03-15 Samsung Electronics Co., Ltd. NOP instruction compressing apparatus and method in a VLIW machine
US10754653B2 (en) 2011-05-03 2020-08-25 Qualcomm Incorporated Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy
US9201652B2 (en) 2011-05-03 2015-12-01 Qualcomm Incorporated Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy
CN103748550A (en) * 2011-07-28 2014-04-23 高通股份有限公司 Methods and apparatus for storage and translation of an entropy encoded instruction sequence to executable form
JP2014524097A (en) * 2011-07-28 2014-09-18 クアルコム,インコーポレイテッド Method and apparatus for storage of entropy-encoded instruction sequences and conversion to executable form
US20130031337A1 (en) * 2011-07-28 2013-01-31 Qualcomm Incorporated Methods and Apparatus for Storage and Translation of an Entropy Encoded Instruction Sequence to Executable Form
US10120692B2 (en) * 2011-07-28 2018-11-06 Qualcomm Incorporated Methods and apparatus for storage and translation of an entropy encoded instruction sequence to executable form
JP2013058203A (en) * 2011-09-08 2013-03-28 Samsung Electronics Co Ltd Apparatus and method for compressing instructions and computer-readable storage media
CN102508690A (en) * 2011-11-11 2012-06-20 瑞斯康达科技发展股份有限公司 Storing method and decoding method for command line of embedded equipment
US9348792B2 (en) 2012-05-11 2016-05-24 Samsung Electronics Co., Ltd. Coarse-grained reconfigurable processor and code decompression method thereof
US9804853B2 (en) * 2013-04-22 2017-10-31 Samsung Electronics Co., Ltd. Apparatus and method for compressing instruction for VLIW processor, and apparatus and method for fetching instruction
KR102056730B1 (en) * 2013-04-22 2019-12-17 삼성전자주식회사 Apparatus and method for compressing instruction for vliw processor, apparatus and method for fetching instruction
US20140317383A1 (en) * 2013-04-22 2014-10-23 Samsung Electronics Co., Ltd. Apparatus and method for compressing instruction for vliw processor, and apparatus and method for fetching instruction
US20170024216A1 (en) * 2014-03-12 2017-01-26 Samsung Electronics Co., Ltd. Method and device for processing vliw instruction, and method and device for generating instruction for processing vliw instruction
US10599439B2 (en) * 2014-03-12 2020-03-24 Samsung Electronics Co., Ltd. Method and device for allocating a VLIW instruction based on slot information stored in a database by a calculation allocation instruction
US10379866B2 (en) * 2016-09-19 2019-08-13 Samsung Electronics Co., Ltd Electronic apparatus, VLIW processor and control methods for updating a multi-cycle no operation (NOP) instruction
CN109753307A (en) * 2017-11-03 2019-05-14 北京思朗科技有限责任公司 Instruct storage method
TWI791699B (en) * 2017-12-05 2023-02-11 南韓商三星電子股份有限公司 Electronic device and method for processing instruction using the same

Also Published As

Publication number Publication date
KR20080086739A (en) 2008-09-26
US7774581B2 (en) 2010-08-10
KR100875836B1 (en) 2008-12-24

Similar Documents

Publication Publication Date Title
US7774581B2 (en) Apparatus for compressing instruction word for parallel processing VLIW computer and method for the same
CN104008064B (en) The method and system compressed for multi-level store
US20190266217A1 (en) Apparatus and method for matrix computation
US7454670B2 (en) Data management apparatus and method of flash memory
US9286074B2 (en) NOP instruction compressing apparatus and method in a VLIW machine
CN110442560B (en) Log replay method, device, server and storage medium
US8104026B2 (en) Compiler register allocation and compilation
US9489409B2 (en) Rollover strategies in a N-bit dictionary compressed column store
KR20200129843A (en) Memory device including computing circuit, memory controller controlling the memory device and memory system including the memory device
US10831738B2 (en) Parallelized in-place radix sorting
US20060149915A1 (en) Memory management technique
CN111984729A (en) Heterogeneous database data synchronization method, device, medium and electronic equipment
US20160321105A1 (en) Parallel computer system, method of controlling parallel computer system, and recording medium
US6941267B2 (en) Speech data compression/expansion apparatus and method
US20110307645A1 (en) Implementing enhanced host to physical storage mapping using numerical compositions for persistent media
US8274521B2 (en) System available cache color map
CN102609509B (en) Hash data processing method and device
US6931507B2 (en) Memory allocation method using multi-level partition
US20100146242A1 (en) Data processing apparatus and method of controlling the data processing apparatus
US9823896B2 (en) Parallelized in-place radix sorting
KR101873879B1 (en) Data distribution storage apparatus and method using relative difference set generated from the group having the two-dimensional element
US20180011786A1 (en) Apparatus and method for dynamically managing memory
KR102268112B1 (en) Method and system for saving satellite commands
CN108334457A (en) A kind of I O process method and device
US7797485B2 (en) Method and apparatus for allocating disc space for recording files

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BAEK, CHANG-WOO;KIM, HONG-SEOK;KIM, HEE SEOK;AND OTHERS;REEL/FRAME:019692/0753

Effective date: 20070802

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552)

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12