WO2005001689A1 - 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム - Google Patents
電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム Download PDFInfo
- Publication number
- WO2005001689A1 WO2005001689A1 PCT/JP2004/008709 JP2004008709W WO2005001689A1 WO 2005001689 A1 WO2005001689 A1 WO 2005001689A1 JP 2004008709 W JP2004008709 W JP 2004008709W WO 2005001689 A1 WO2005001689 A1 WO 2005001689A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- command
- program
- processing device
- processing
- program data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
Definitions
- the present invention relates to an electronic computer, a semiconductor integrated circuit, a control method, a method for generating a program, and a program, in which a part or all of processing by an application program is executed at high speed using reconfigurable hardware. For technology.
- FIG. 30 shows a method for converting all application programs into dedicated hardware.
- Fig. 31 shows a method in which part of an application program is converted into dedicated hardware, connected to a general-purpose CPU via a network, processed, and part of the processing is accelerated by dedicated hardware.
- Fig. 32 shows a method for speeding up the processing by the added instructions by adding a new instruction set to execute the processing by the dedicated hardware inside the CPU by using a part of the application program as dedicated hardware. .
- the method of implementing the whole or a part of the application on the hardware greatly increases the processing capacity, but requires a huge amount of cost because new hardware must be developed / manufactured for each application. I have.
- reconfigurable hardware that can form a logic circuit typified by an FPGA (neld programmaole gate array) -vPLD (programmable logic device) can be created by changing the program and reconfiguring the logic circuit. It can be used to perform specific processing specified in the program without replacing the device.
- FPGA field programmaole gate array
- VPLD programmable logic device
- Patent Document 1 JP 08-316329 A
- Patent Document 2 Japanese Patent Application Laid-Open No. 11-184718
- Patent Document 3 Patent No. 3099889
- Patent Document 4 JP 2001-147802 A
- Patent Document 5 Japanese Patent Publication No. 11-507478
- the conventional method does not consider the capacity of the logic circuit formed in the reconfigurable hardware, and therefore cannot implement an application program that exceeds the capacity of the reconfigurable hardware. Les ,. Therefore, the larger the size of the application program, the larger the reconfigurable hardware for implementing it and the higher the cost.
- An object of the present invention is to improve the processing speed at low cost by dividing an application program into processing units, switching the processing for each processing unit, and constructing and executing a logic circuit on reconfigurable hardware,
- An object of the present invention is to provide an electronic computer, a control method, a program generation method, and a program that can easily reuse an application program. Means for solving the problem
- a first computer of the present invention includes a processing device including reconfigurable hardware capable of forming a logic circuit by a program, and a control device for executing a command specified by the processing device. Is characterized by including a command to be executed when the processing device detects a predetermined condition, and to execute switching of a program for forming logic of the reconfigurable hardware.
- the processing device forms a processing element having reconfigurable hardware and a logic circuit of the reconfigurable hardware.
- a plurality of banks having at least one program data memory for holding a program to be executed, and an effective bank selecting unit for selecting one of the plurality of banks to be valid and connected to the outside.
- the processing device in the first computer of the present invention, includes a processing element including reconfigurable hardware and a logical circuit of the reconfigurable hardware. It is characterized by having a bank including a plurality of program data memories for holding a program to be formed and an effective block selecting section for selecting one of the plurality of program data memories and making the selected one effective.
- the fourth computer of the present invention is the same as the second or third computer of the present invention,
- the processing device is characterized in that at least one processing element is configured by reconfigurable hardware, and the remaining processing elements are configured by reconfigurable hardware or a general-purpose CPU.
- a fifth computer in the second, third, or fourth computer according to the present invention, when there are a plurality of banks, the control device designates the bank to be valid when there are a plurality of banks.
- an activate command for designating the program data memory to be activated and starting the operation of the designated processing element, and a halt command for stopping the operation of the designated processing device
- An interrupt command for issuing an interrupt vector from the control device to the specified processing device, a load_prg command for transferring program data to the specified storage device, and a program_memory, and a cancel_prg command for canceling the load_prg instruction.
- wait_prg command that waits until the end of the load_prg instruction.
- a sixth computer of the present invention is the first, second, third, fourth, or fifth electronic computer of the present invention, wherein a command code for holding a command executed by the control device is provided.
- the control device includes a command code reference device that reads a command from a command code memory in accordance with an address specified by the processing device, and interprets and executes the command.
- the command code reference device has an address counter that holds an address of the command code memory, and the processing device and the control device The first address control line indicating that the address signal line output from the processing device is valid, and the value of the address signal line when the first control line is valid, is passed to the address counter when the command is passed between the two. And a second address counter control line for instructing whether to store the data in the address counter or to add the value of the address signal line to the value of the address counter and store the value in the address counter.
- the command is a command code for classifying a command, an address counter control code, and a flag indicating whether to execute a subsequent command.
- the address counter control code is stored in the command code memory in a format consisting of: It is characterized by including an —adr command and an add—adr command that adds a value specified to the address counter.
- the address counter control code saves an address counter to an address counter stack provided in the control device, and sets a new address counter. It is characterized by including a push_adr command for setting the value in the address counter and a pop_adr command for returning the value of the address counter stack to the address counter.
- a tenth computer in any one of the first to ninth computers according to the present invention, controls a cache memory and a cache memory that temporarily hold data to be transferred to the processing device.
- a cache device including a cache controller is provided, and the cache controller is controlled by a command issued by the processing device.
- the cache device converts an address defined outside the processing device into an address defined inside the processing device.
- An address translation device is provided, and the address translation device is controlled by a command issued by the processing device.
- a twelfth computer of the present invention includes a processing device including reconfigurable hardware capable of forming a logic circuit by a program, and a control device for executing a command specified by the processing device. Includes a command for instructing execution when the processing device detects a predetermined condition, and for executing switching of a program for forming logic of the reconfigurable hardware,
- the processing device includes a second processing device including reconfigurable hardware capable of forming a logic circuit by a program, and a second control device that executes a command specified by the second processing device.
- a semiconductor integrated circuit according to the present invention is characterized by mounting any one of the first to eleventh electronic computers according to the present invention.
- the first control method of the present invention provides an instruction to execute a command when a processing device including reconfigurable hardware capable of forming a logic circuit by a program detects a predetermined condition,
- the control device that receives the command execution instruction of the processing device executes switching of a program that logically forms the reconfigurable hardware.
- a second control method according to the present invention is the control method according to the first control method according to the first invention, wherein after the switching, the next program is stored in another program data memory during execution of the program on the predetermined program data memory. The reading is performed in the following manner.
- one of a plurality of program data memories and a plurality of program data memories that hold reconfigurable hardware and a program that forms a logic circuit of the reconfigurable hardware is provided.
- a processing device including a valid block selection unit to be selected and validated detects a predetermined condition, it instructs execution of a command, and the control device that receives the command execution instruction of the processing device transmits the command to the valid block selection unit.
- the reconfigurable hardware executes the activate command for controlling and enabling the designated program data memory to connect to the reconfigurable hardware, and switches the contents of the logic circuit executed by the reconfigurable hardware.
- the control device may further include a halt command for stopping an operation of the specified processing device, and a halt command specified from the control device.
- An interrupt command for issuing an interrupt vector to the processing device, a load-prg command for transferring program data from a specified storage device to the program data memory, a cancel-prg command for canceling a load-prg instruction, and a load-prg command It waits until the end of an instruction. Wait— Executes the prg command.
- a first program generation method analyzes a control flow of an application program, divides the application program into processing units, and executes the divided processing units in an electronic computer.
- a control flow analysis procedure to generate a command sequence intermediate code that combines commands controlled by a computer, a command sequence implementation procedure to convert a command sequence intermediate code into a format executable by a computer, and generate a command sequence.
- a program data generation procedure for converting the operation content of the processing unit into a format executable by the computer.
- the control flow analysis procedure solves a control flow of an application program.
- each processing unit is divided so that it can be stored in a program data memory holding a program forming the logic of the reconfigurable hardware.
- the first program of the present invention is to execute a command when a processing device including reconfigurable hardware capable of forming a logic circuit by a program instructs execution of a command when detecting a predetermined condition.
- the control device that has received the command execution instruction causes the computer to execute a procedure of executing a switch of a program that forms the logic of the reconfigurable hardware.
- a second program of the present invention selects one of a plurality of program data memories holding a program for forming reconfigurable hardware and a logic circuit of the reconfigurable hardware, and one of the plurality of program data memories.
- a processing device including a valid block selection unit that determines that a command is to be executed is instructed to execute a command when a predetermined condition is detected
- the control device that has received the command execution instruction of the processing device controls the valid block selection unit.
- a halt command for stopping an operation of the specified processing device an interrupt for issuing an interrupt vector from the control device to the specified processing device, Command, specified
- FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating an example of a processing device according to an embodiment of the present invention.
- FIG. 3 is a diagram showing an example of a processing element according to the embodiment of the present invention.
- FIG. 4 is a diagram showing an example of a processing element according to the embodiment of the present invention.
- FIG. 5 is a diagram showing an example of a processing element according to the embodiment of the present invention.
- FIG. 6 is a diagram showing a connection example between a control device and a processing element according to the embodiment of the present invention.
- FIG. 7 is a diagram showing a configuration of a command code implemented in the control device according to the embodiment of the present invention.
- FIG. 8 is a diagram showing functions of command codes implemented in the control device according to the embodiment of the present invention.
- FIG. 9 is a diagram showing a connection example of a control device and processing elements according to the embodiment of the present invention.
- FIG. 10 is a diagram showing a storage example of a command according to the embodiment of the present invention.
- FIG. 11 is a diagram showing a connection example of a control device and a processing element according to the embodiment of the present invention.
- FIG. 12 is a diagram showing a storage example of a command according to the embodiment of the present invention.
- FIG. 13 is a diagram showing a configuration example of an address counter control code according to the embodiment of the present invention.
- FIG. 14 is a diagram showing an example of functions of an address counter control code according to the embodiment of the present invention.
- FIG. 15 is a diagram showing a command sequence according to the embodiment of the present invention.
- FIG. 16 is a block diagram of a configuration according to an embodiment of the present invention to which a cache is added.
- FIG. 17 is a block diagram showing a configuration example referred to in the description of the operation of the embodiment of the present invention.
- FIG. 18 is a diagram showing an application implemented by the embodiment of the present invention.
- FIG. 19 is a flowchart for generating program data according to the embodiment of the present invention.
- FIG. 20 is a diagram showing a command sequence intermediate code according to the embodiment of the present invention.
- FIG. 21 is a control flowchart of processing according to the embodiment of the present invention.
- FIG. 22 is a diagram showing a command sequence harming the command code memory according to the embodiment of the present invention.
- FIG. 23 is a diagram of program data allocated to a memory according to the embodiment of the present invention.
- FIG. 24 is a diagram showing a state of the computer when the power is turned on according to the embodiment of the present invention.
- FIG. 25 is a timing chart showing the operation of the embodiment of the present invention.
- FIG. 26 is a block diagram including two processing apparatuses according to the embodiment of the present invention.
- FIG. 27 is a diagram of a command sequence assigned to a memory according to the embodiment of the present invention.
- FIG. 28 is a timing chart showing operations of the two processing devices according to the embodiment of the present invention.
- FIG. 29 is a flowchart for generating program data according to the embodiment of the present invention.
- FIG. 30 is a diagram showing an example of a technique for implementing all of the application programs as dedicated hardware in the conventional technology.
- FIG. 31 is a diagram showing an example of a technique for implementing a part of an application program as dedicated hardware in the related art.
- FIG. 32 is a diagram showing an example of a technique for implementing a part of an application program as dedicated hardware in a conventional technique.
- FIG. 1 is a block diagram showing a basic configuration of a computer according to an embodiment of the present invention.
- the computer 30 according to the first embodiment of the present invention includes an interface device 40 that controls an external interface and transfers data, a processing device 70 that executes all or a part of processing of an application program, and It includes a control device 60 that executes a command instructed from the processing device 70, and is connected to the external storage device 10 via the connection network 20.
- the computer 30 in FIG. 1 includes two processing devices 70, the number may be one or three or more.
- the processing device 70 includes a memory unit 80 and a processing unit 90.
- FIG. 2 is a diagram showing an example of the configuration of the processing device 70.
- a bank 101 comprising one processing element 91 and one program data memory 81, and a plurality of program data memories 81 for one processing element 91 are shown.
- an effective block selection unit 82 for selecting and outputting one of a plurality of processing elements 91 as a constituent element.
- the processing device 70 includes two banks 101 and two banks 102, it is sufficient to include at least one of the banks 101 and 102.
- the effective block selecting section 82 can be omitted if the configuration is one bank, and the selection memory 83 can be omitted if the bank and the program data memory 81 have one configuration.
- the program data signal S 80 input to the processing device 70 is connected to a program data memory 81 and a selection memory 83.
- the program data memory 81 is a memory for holding a program for determining the processing content of the processing element 91.
- the program stored in the program data memory 81 is usually stored in the external storage device 10, and is transferred via the connection network 20, the interface device 40, and the program data signal S80 as necessary, and is written into the program data memory 81.
- the processing element 91 is reconfigurable hardware such as an FPGA
- the program stored in the program data memory 81 is a processing element. This is a program for forming 91 logic circuits.
- the processing element 91 executes a process according to the contents of the program stored in the connected program data memory 81.
- it is realized by reconfigurable hardware as shown in FIG. 3, but may be realized by a CPU as shown in FIG.
- the selection memory 83 is connected to the valid bank selection unit 92 and the valid block selection unit 82, selects a bank to be validated in the processing device 70, and stores a plurality of program data memories like the bank 102. Holds information for selecting the program data memory 81 to be enabled in the bank composed of 81. Since switching to the program data memory 81 is instantaneous, if the storage of the program in the switched program data memory 81 is completed, the processing element 91 immediately starts processing corresponding to the new program. be able to. However, if the program has not been stored, it is necessary to wait until the data transfer ends and the program is stored.
- the command signal S91 output from the processing device 70 is generated from the processing element 91 of the processing device 70.
- the interrupt signal S92 input to the processing device 70 is input to the processing element 91 of the processing device 70 and used in the course of the processing.
- the processing data signal S93 input / output to / from the processing device 70 is connected to the processing unit 90, and is used as an input / output line for data necessary for processing and data that has been processed.
- the command signal S91, the interrupt signal S92, and the processing data signal S93 are input and output to and from the processing device 90 of the bank enabled by the selection memory 83.
- the data input to the processing device 70 is controlled from the selection memory 83 or the like so that the input data is cut off so that the data connected to all the processing devices 90 is not input to the invalid bank.
- the processing element 91 is composed of reconfigurable hardware such as a conventional FPGA or PLD as shown in FIG. However, when there are a plurality of components 91, one or more of them may be configured by the CPU 120 as shown in FIG.
- the component 91 composed of the CPU 120 is mainly used for processing by allocating a part for processing the application program in a high-level language and controlling the inside of the processing device 70.
- processing element 91 is composed of CPU 120 In FIG. 4, since the program can be read via the processing data signal S93, the program data connection line S101 in FIG.
- the control device 60 in the computer 30 may be realized by reconfigurable hardware, and the reconfigurable control device R60 may be configured. As shown in FIG. 5, the reconfigurable control device R60 is set using the program data connection line S101, and can change the processing content according to the set content. Further, the command signal S91, the interrupt signal S92, and the processing data signal S93 are input / output via the interface device 40.
- the interface device 40 connects the processing device 70 or the control device 60 to the external connection network 20 of the computer 30, and when communication regarding control occurs from the connection network 20 to the computer 30, the connection is established.
- a command signal S41 is output to the controller 60 based on an appropriate protocol of the network 20.
- communication relating to control of the interrupt signal S42 or the like occurs from the control device 60 to the interface device 40, the communication is similarly transmitted to the designated connection destination via the connection network 20 using an appropriate protocol.
- the interface device 40 accesses the outside based on an appropriate protocol.
- the interface device 40 accesses based on an appropriate protocol.
- the control device 60 receives a command signal S41 transmitted from a device external to the computer 30 via the interface device 40 and a command signal S91 output from the processing device 70, and interprets and executes the received command.
- FIG. 6 shows an example of a protocol when the processing device 70 issues the command signal S91 to the control device 60. This protocol may be applied to a protocol between the interface device 40 and the control device 60.
- FIG. 6 is a diagram showing a method in which the processing device 70 directly passes the command code signal S912 together with the request signal S911. Upon receiving the command code signal S912, the control device 60 performs processing according to the contents of the command code, and returns a response signal S921 at the end of the processing.
- FIGS. 7 and 8 show examples of command codes interpreted and executed by the control device 60.
- FIG. FIG. 7 is a diagram showing the configuration of a command code.
- a command code A10 is composed of a command code name All and a command code parameter A12.
- Figure 8 is a list of command execution contents Indicates the six commands described below.
- Activate controls the effective bank selection unit 92 and the effective block selection unit 82 by writing the code indicated by the command code parameter A12 into the selection memory 83, and stores the selected program data memory 81 in the same bank.
- the processing element 91 For example, as shown in FIG. 3, when the processing element 91 is configured with reconfigurable hardware, activating the processing means setting the program data to the reconfigurable hardware, The activated reconfiguration hardware immediately starts processing according to the contents of the program data memory 81.
- the interrupt issues the specified interrupt vector signal S922 to the processing device 70 specified by the command code parameter A12.
- load-prg transfers program data stored in the external storage device 10 or any other storage device to the area of the program data memory 81 specified by the command code parameter A12.
- the control device 60 interprets an arbitrary combination (command set) of the commands shown in FIG. 8, performs appropriate processing for each command, and processes an interrupt including a response signal. 70 and output to the outside of the computer 30 via the interface device 40.
- the analysis, processing, and interruption of the command may be performed in parallel for each processing device 70.
- FIGS. 9 and 11 show examples of another protocol when the processing device 70 issues the command signal S91 to the control device 60.
- This protocol may be applied to a protocol between the interface device 40 and the control device 60.
- FIG. 9 is a diagram showing a method in which the control device 60 has a command code reference device 61 and a command code memory 63, and the processing device 70 passes an address signal S913 together with a request signal S911.
- FIG. 10 is a diagram showing an example of a command code stored in the command code memory 63.
- the address signal S913 is a command storing a command to be executed by the control device 60. Indicates the address of the code memory 63.
- the control device 60 that has received the address signal S913 refers to the command code memory 63 using the command code reference device 61, and executes the command corresponding to the address signal S913.
- the command code memory 63 may be any memory such as a memory external to the control device 60 or the external storage device 10 that can be referred to from the control device 60. Further, when there are a plurality of processing units 70, a plurality of command code reference units 61 may be provided in the control unit 60 so that commands may be processed in parallel. 61 may be provided.
- the protocol shown in FIG. 9 includes a command code reference device 61 and a command code memory
- the number of bits of memory addresses can be smaller than the number of bits of data.Therefore, the number of signal lines connected between the control unit 60 and the processing unit 70 is smaller than that of the protocol shown in FIG. Can be reduced.
- FIG. 11 shows that the control device 60 has a command code reference device 61 and its address counter 62, and the processing device 70 controls the address counter 62 using the request signal S911 and the address operation signals S914 and S915,
- FIG. 9 is a diagram showing a method of passing an address to a control device 60 using an address signal S913 if necessary.
- the command code reference device 61 and its address counter 62 may be provided for each processing device 70 to be connected.
- the address signal S913 passed from the processing device 70 is stored in the address counter 62. .
- the address counter operation signal S914 is valid and the address counter operation signal S915 indicates off set, the value of the address signal S913 passed to the processing device 70 is added to the address counter 62.
- the adr_ena address counter operation signal S914 is invalid, the address signal S913 passed from the processing device 70 is ignored, and the value of the address counter 62 is retained.
- control device 60 refers to the value of the address counter 62 and the command code memory 63 in which the command is stored by using the command code reference device 61 and stores the command. Processing of the current command, and after completion, the response signal S92 Returns 1.
- FIG. 12 is a diagram showing an example of a command code stored in the command code memory 63 in the configuration of FIG. As shown in FIG. 12, the command code memory 63 may not include the address counter control code A20 and the flag A30 in addition to the command code A10.
- the control device 60 specifies the address counter control code A20 before returning the response signal S921 to the processing device 70. Perform the processing that
- FIG. 13 shows details of the address counter control code A20.
- the address counter control code A20 is composed of an address counter control code name A21 and an address counter control code parameter A22 as its parameter.
- Figure 14 shows an example of the address counter control code.
- load_adr sets the value of the address counter control code parameter A22 as the value of the new address counter 62.
- add_adr adds the value of the address counter control code parameter A22 to the value of the address counter 62.
- push asdr stores the current value of the address counter 62 (not shown) in the address counter stack, and sets the value of the address counter control code parameter A22 as the new value of the address counter 62.
- pop The adr instruction pops a value from the address counter stack and sets that value as the new address counter 62 value.
- the address counter stack may be provided in the command code reference device 61.
- the flag A30 is used as a flag as to whether or not to continue to refer to and execute a command using the new value of the address counter 62 after executing the address counter control code A20.
- the flag for continuously executing the command is cont
- the flag for not executing the command is stop and ci.
- the command code memory 63 stores a command sequence as shown in FIG. 15, and the processing device 70 issues a command with the address signal S913 set to 100 and the address counter operation signal S914 disabled. Then, the control device 60 executes the command codes in the order of Y100, Y101, and $ 200.
- the processing device 70 is controlled by the command code. Since it is only necessary to output the address signal S913 when it is necessary to issue the command, the processing unit 90 in the processing device 70 can generate the address signal S913 with a small amount of hardware resources.
- the protocol between the processing device 70 and the control device 60 may be configured by selecting one of FIGS. 6, 9, and 14, or by arbitrarily combining these. It is also possible to incorporate a plurality of configurations and add control lines as necessary to switch the protocol. For example, a control line may be added so that the protocol shown in FIG. 6 or the protocol shown in FIG. 11 can be selected.
- a cache device 50 including a cache controller 130 is added to the computer 30 of FIG.
- the controller 130 may be configured to be controlled by a command.
- the cache device 50 includes three cache controllers 130 and is connected to the control device 60, the memory unit 80, and the processing unit 90, respectively.
- the cache controller 140 may have a plurality of ports of the cache memory 140.
- the address translator 150 may be shared between a plurality of cache controllers.
- the cache controller 130 includes, for example, a cache memory 140 that temporarily stores data that is stored in the external storage device 10 or the like and is accessed by the processing device 70, and an address translation device 150.
- the cache controller 130 is controlled by a command, and mainly performs data transfer between the cache memory 140 and the external storage device 10 and data transfer between the cache memory 140 and the control device 60 or the processing device 70. Operates in parallel with 70 and control device 60.
- the address translator 150 is a device for translating addresses between the address space of the processing device 70 and the address space of the interface device 40, and can have an independent address space in the processing device 70. . Further, by providing the address translator 150 for each processing device 70, an independent address space can be defined for each processing device 70.
- the address translation device 151 provided in the interface device 40 is provided between the computer 30 and the external storage device 10 or another device connected to the computer 30 via the connection network 20. Address conversion is performed on the difference in the address space.
- the processing device 70 controls the address translation device 150 by executing a command in the control device 60.
- the commands for controlling the cache controller are not shown in FIG. 8, for example, when the address translator 150 includes a translation buffer for storing the translated address and the translated address in pairs. Can be provided with commands to control the registration, deletion, replacement, etc. in the buffer.
- a command for setting a specific area in the cache memory 140 as a local memory area dedicated to the processing device 70 may be added.
- the scheduling by performing the data flow analysis, and the cache to be used and the control of the cache are described in advance as a command sequence, so that the processing by the processing unit 70 and the control by the control unit 60 can be performed.
- Data flow control can be performed in parallel, and the processing capability of the processing device 70 is improved. Also, since the processing device 70 issues the command at a necessary timing, unnecessary overhead does not occur.
- the cache controller 130 is controlled by a command so that each device
- the present computer 30 may be realized as an LSI including one or more of the present computers 30 or a part of the present computer 30 as an LSI. Further, the computer 30 may be logically implemented on reconfigurable hardware such as an FPGA or a PLD.
- FIG. 17 a method of generating a program for generating a command to be executed by the controller 60 by dividing an application program to be processed by the computer into processing units to be stored in the program data memories 811 to 813 is described.
- the operation * control method in the computer 30 in the configuration of FIG. 17 will be described. Referring to FIG. 17, one process having one bank of processing elements 110 connected to three program data memories 811, 812, and 813 via effective block selection 82 and realized by reconfigurable hardware is provided. There is a device 71, the address of which specifies direct / offset from Fig. 11.
- Counter control S915 connects the control device 60 and the processing device 71 with the protocol omitted, and the command signal between the control device 60 and the interface device 40
- the configuration is such that S41 and interrupt signal S42 are omitted.
- the command set implemented in the control device 60 of FIG. 17 is as shown in FIG. 8, and the address counter control code implemented in the control device 60 is as shown in FIGS. 13 and 14.
- the cache device 50 is omitted.
- FIG. 18 is a control flow diagram showing an example of the flow of processing contents of an application executed by the processing element 110 in FIG. As shown in FIG. 18, the application executes the process shown in the control flow while dynamically switching through the initial state CO, and enters the end state C9 when all the processes are completed.
- the initial state CO is the state immediately before processing P1 can be started.
- the end state C9 is, for example, a state in which all the processing devices 71 in FIG. 17 are stopped.
- the processing content of the application shown in FIG. 18 has five states (CI, C2, C3, C4, and C5) and four types of processing contents (PI, P2, P3, and P4). Transitions unconditionally to state C1.
- the processing P1 is performed.
- the processing P2 is performed, and the state transits to the state 3 under the condition F2a and to the state 4 under the condition F2b.
- state C3 processing P1 is performed, and a transition is made to state 5 in condition F3.
- the processing P3 is performed, and the state transits to the state 5 in the condition F4.
- the processing P4 is performed, and in the condition F5, the state transits to the end state C9.
- FIG. 19 is a flowchart for generating a program for executing an application.
- the flow shown in Fig. 19 is a control flow analysis procedure Ml that generates a command sequence to be executed after each process, a command sequence implementation procedure M2 that converts a command sequence into a data sequence, and a program data generation procedure that generates program data. It is composed of M3, receives the control flow of the entire application, the end, the configuration information of the computer 30 and its command set, etc., the command sequence code indicating the initial state CO of the computer, and all the commands used in each processing device. Program data and the command system referenced by them Output one can code.
- the control flow analysis procedure Ml, the command sequence implementation procedure M2, and the program data generation procedure M3 are each realized by a program.
- the control flow analysis procedure Ml analyzes each process (P1 to P4), the corresponding state (C1 to C5), the transition condition (F1 to F5) corresponding to each state, and the transition destination. Then, each process is harmed to one of the program data memory 811 and the program data memory 813, and the command is executed so that the effective block selecting unit 82 is switched and each process is continuously executed so that a transition to the next state can be performed. Generate an intermediate code for the sequence.
- FIG. 20 shows an example of an intermediate code of a command sequence generated as a result of analyzing the application of FIG. 18 by the control flow analysis procedure Ml.
- the effective block selection unit 82 has selected the program data memory 811 when the power is turned on.
- the parameter 812 of the command “load_prg 812, PM1” of the command sequence SQ0 is sent to the processing element 110, and the program data generated to execute the process P1 is loaded into the program memory data memory. 812, and PM 1 indicates a memory area where the program data is stored.
- the program data PM1 specified by PM1 is stored in any memory including the external storage device 10. At this stage, since the program data PM1 itself has not been generated, it indicates an empty memory area.
- the program data PM2, PM3, and PM4 also specify the areas of the memory where the program data generated to execute the processing P2, the processing P3, and the processing P4 are stored.
- a state C4 is a state in which the process P3 is being executed, and when the condition F4 is satisfied in this state, the command sequence SQ4 is started.
- the processing content of the command sequence SQ4 is to wait until all the program data PM4 is transferred to the program data memory 813 by "wait_prg 813, PM4", and then "activate” to select and start the program data memory 813 .
- the processing element 110 starts the processing determined by the program stored in the program data memory 813.
- the processing element 110 starts the process PM4. This means that the state transitions to state C5.
- FIG. 22 shows a state in which the command sequence of FIG. 20 is allocated to the memory using the command sequence implementation procedure # 2, and the calling of the command sequence in each process is performed by the control device 60 and the processing device in the configuration of FIG.
- FIG. 21 shows the control flow for each process converted to the protocol of the interface with the interface 71.
- FIGS. 21 and 22 show the command sequence SQ0A that is executed first after the power is turned on. Execution of the command sequence SQ0A causes a transition to the initial state CO. In the state CO, since the valid block selection unit 82 has selected the program data memory 811, the processing element 110 starts the operation of the program stored in the program data memory 811 after the power is turned on.
- each process is a control flow at power-on and in which each command sequence issuance process is added to the original process (PI, P2, P3, P4).
- the command issuing process SQ2bA is executed, and when the condition F2b is satisfied, the command issuing process SQ2bA is executed.
- the processing device 71 executes the command issuing process SQ2aA, a request signal S911 and an address signal S913 indicating an adr_ena address counter operation signal S914 and ADR002 are output.
- the control device 60 since the address ADR002 indicates the command sequence SQ2a, the control device 60 executes the contents of SQ2a.
- FIG. 21 shows an example of storing each generated program data in the memory.
- the memory area where the generated program data PM1, PM2, PM3, PM4 is stored is reflected in the parameters of each command sequence in FIG.
- FIG. 25 is a timing chart summarizing the above-described operation. This will be described with reference to FIGS. 25 and 17, FIG. 18, FIG. 21, FIG. 22, FIG. 23, and FIG.
- the horizontal axis represents the value of the address counter 62 in the control device 60, the operation content of the control device 60, the operation content of the processing element 110, and the content of the interrupt vector signal S922 input to the processing element 110.
- the contents of the program data stored in each of the program data memories 811, 812, and 813 and the transfer state of the program data are shown, and the vertical axis indicates the elapsed time downward from T101.
- the portions of the program data memories 811, 812 and 813 indicated by stitches indicate that the program data is being executed.
- the timing of T101 is the state of the computer 30 when the power is turned on as shown in Fig. 24.
- the program data PM0 for executing the command issuing process SQ0A is stored in the program data memory 811. Is stored.
- the processing element 110 starts the operation of PM0, and executes the command issuing process SQ0A.
- the command reference device 61 of the control device 60 sets the address value ADR000 in the address counter 62, and stores the command stored in ADR000 in the command code memory 63 in which the command sequence of FIG. 22 is stored. Is read, and "load_prg #" is executed in T103.
- the control device 60 executes "load_prg #" and starts transferring the program data PM1 to the program data memory 812. Information on the storage location of the program data PM1 shall be included in PM1 of the parameter of "load_prg".
- the force stored in the external storage device 10 as shown in FIG. Store it in memory.
- control device 60 since the address counter control code of ADR000 is also set to execute the next command, control device 60 adds 1 to address counter 62 and executes the next instruction at T104. . At T104, the control device 60 waits until all the program data PM1 is transferred to the program data memory 812, and when the transfer is completed at T105, the control device 60 continues to execute the next instruction at T106.
- the control device 60 executes "activate 812" at T107, the selection memory 83 is updated with information for selecting the program data memory 812, and the valid block selection 82 is replaced with the selection memory 83. Is switched to the program data memory 812, and the operation of the processing element 110 is switched, and the processing of the PM1 stored in the program data memory 812 is started.
- the control device 60 terminates the processing of the series of command sequences started from T102 from the address counter control code "add-adr 0 / st o ⁇ ".
- the control device 60 that has received the command issuing process SQ1A at T110 updates the value of the address counter 62 to the value of ADR001.
- the control device 60 reads the command code memory 63, executes "activate 813", and stores the processing content of the processing element 110 in the program data memory 813. Switch to the processing of.
- the command issuing process SQ5A is executed.
- the control device 60 that has received the command issuing process SQ5 A refers to the command code memory 63 and executes 'halt' for the processing device 71 at T124. Ends the operation, and the control device 60 that has executed "halt" also finishes interpreting and executing the command sequence.
- the generated program data is PM0, PM1, PM2, PM3, and PM4, but three program data memories 811, 812, and 813 are used. This indicates that an application that exceeds hardware resources can be implemented in the computer 30.
- the processing device 71 includes only one bank. However, when the processing device 71 includes two or more banks, the program data PM0-PM4 is stored in the program data memory of a plurality of banks. And may be executed by a processing element configured by each reconfigurable hardware. In this case, the output of the processing device becomes a command or output data of the processing element selected by the valid bank selecting unit 92, the processing element selected by the valid bank selecting unit 92 operates effectively, and the program data memory and the processing element are connected. Processing will proceed while switching.
- FIG. 26 shows a configuration in which a processing device 72 is added to the configuration including one processing device 71 in FIG. Further, the command SQ0A, which triggers the start of the operation, is issued from the processing device 72 instead of the processing device 71. In addition, the command sequence SQ5 of the processing device 71 shown in FIG. 22 is changed to the command sequence SQ5B shown in FIG. 27, and "interrupt 72, END71" is added after "halt", and processing is performed. The end of the device 71 is notified to the processing device 72 by interruption.
- FIG. 28 is a timing chart showing the above operation in which the processing device 72 executes the issuing of the command SQ0A, and the processing device 71 notifies the processing device 72 of its own termination by “interrupt”.
- the processing device 72 includes the processing device 71 in the process P5. Executes SQOA for issuing commands for initialization of The control device 60 that has received the command issuing process S Q0A at T201 executes the command sequence SQ0.
- the processing device 71 initialized in T202 performs a series of processes as shown in FIG. 25, and executes the command issuing process SQ5A in T203.
- the control device 60 executes the command sequence SQ5B, stops the processing device 71 at T204 by executing "halt", and outputs an interrupt to the processing device 72 at T205 by executing "interrupt".
- the processing device 72 can execute another process P6 immediately after executing the command issuing process SQ0A in T201 while executing the process P5. Then, it is also possible to wait for an interrupt from the processing device 71 in the process P6 and then shift to the subsequent process P7. Of course, the processing device 72 may simply wait for an interrupt from the processing device 71 without executing the process P6.
- the end state after “halt” is executed in the processing device 71 is set as the initial state of the processing device 71, and the same processing is executed from the processing device 72 as many times as necessary. be able to.
- the processing element 72 can have the configuration shown in FIGS. 2, 3, 4, and 5. Particularly, when the CPU 120 is included as a component of the processing element 72, The processing element 71 may be used as a function call or a system call, or a thread or an object including them, or as an extension of the instruction of the CPU 120.
- the computer 30 can receive a command from the outside via the connection network 20, so that the command issuing process SQ0A may be executed from outside the computer 30. Good. Further, as shown in FIG. 5, since the processing elements of the processing device 70 can be realized by the computer 30, the processing may be subdivided and implemented.
- control device 60 is a reconfigurable control device R60 as shown in FIG. Is used in the command sequence intermediate code in the generation flow as shown in Fig. 29. Only the commands may be used as a command set, and the control device R60 may be configured with only a subset of the commands. With this configuration, it is possible to simplify the control device 60.
- the configuration described in the configuration excluding the cache device 50 illustrated in Fig. 16 may be configured to include the cache device 50 in the configuration illustrated in Figs. 17 and 26.
- the cache device 50 By installing the cache device 50, it is possible to reduce the data transfer time to and from the outside of the computer 30.
- the provision of the address translation device 150 allows the processing device to have a unique address space. It is possible to make it.
- control device 60 and the processing device 70 may be newly designed and manufactured based on the analysis result of the mounting flow.
- the processing of an application program is divided into a plurality of processing units and executed by reconfigurable hardware while switching a program forming a logic circuit for each processing unit.
- Even large application programs can be executed with small reconfigurable hardware, so application programs can be executed at high speed with an inexpensive configuration.
- processing unit programs can be easily applied by changing the command sequence of processing units. It can be applied to a new application program and a new computer can be constructed at low cost.
- a plurality of program data memories for holding a program forming a logic circuit are provided, and during the execution of a processing unit, the program of the next processing unit is read out to another program data memory, whereby the program at the time of switching can be obtained. And the switching time can be shortened and the processing speed can be improved.
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/561,941 US7603542B2 (en) | 2003-06-25 | 2004-06-21 | Reconfigurable electric computer, semiconductor integrated circuit and control method, program generation method, and program for creating a logic circuit from an application program |
JP2005511009A JP4665760B2 (ja) | 2003-06-25 | 2004-06-21 | 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003-180659 | 2003-06-25 | ||
JP2003180659 | 2003-06-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005001689A1 true WO2005001689A1 (ja) | 2005-01-06 |
Family
ID=33549505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2004/008709 WO2005001689A1 (ja) | 2003-06-25 | 2004-06-21 | 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7603542B2 (ja) |
JP (1) | JP4665760B2 (ja) |
WO (1) | WO2005001689A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133456A (ja) * | 2005-11-08 | 2007-05-31 | Hitachi Ltd | 半導体装置 |
WO2008090961A1 (ja) | 2007-01-24 | 2008-07-31 | Nippon Shokubai Co., Ltd. | 粒子状吸水性ポリマーおよびその製造方法 |
WO2008096713A1 (ja) | 2007-02-05 | 2008-08-14 | Nippon Shokubai Co., Ltd. | 粒子状吸水剤およびその製造方法 |
WO2010090875A1 (en) | 2009-01-21 | 2010-08-12 | Rigel Pharmaceuticals, Inc. | Derivatives of n2-(3-pyridil or phenyl)-n4-(4-piperidyl)-2,4-pyrimidinediamine useful in the treatment of inflammatory, autoimmune or proliferative diseases |
JP2011065353A (ja) * | 2009-09-16 | 2011-03-31 | Nec Corp | 並列処理システム制御装置、その方法及びそのプログラム |
WO2014112082A1 (ja) * | 2013-01-17 | 2014-07-24 | 富士通株式会社 | プログラマブルロジック装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024548B2 (en) * | 2003-02-18 | 2011-09-20 | Christopher Joseph Daffron | Integrated circuit microprocessor that constructs, at run time, integrated reconfigurable logic into persistent finite state machines from pre-compiled machine code instruction sequences |
JP2008097498A (ja) * | 2006-10-16 | 2008-04-24 | Olympus Corp | プロセッシング・エレメント、コントロール・ユニット、及びこれらを備える処理システム、分散処理方法 |
JP2010033555A (ja) * | 2008-06-30 | 2010-02-12 | Olympus Corp | コントロール・ユニット、分散処理システム及び分散処理方法 |
US11423953B2 (en) * | 2020-05-28 | 2022-08-23 | Micron Technology, Inc. | Command triggered power gating for a memory device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09218781A (ja) * | 1996-02-13 | 1997-08-19 | Nec Corp | 遠隔保守システム |
JPH1195994A (ja) * | 1997-09-18 | 1999-04-09 | Fujitsu Ltd | プログラマブル・ゲートアレイのコンフィグレーション方法及びプログラマブル・ゲートアレイ装置 |
JP2000040745A (ja) * | 1998-01-21 | 2000-02-08 | Lucent Technol Inc | ハ―ドウェアのセットを再構成する方法および再構成可能ハ―ドウェア装置 |
JP2000181566A (ja) * | 1998-12-14 | 2000-06-30 | Mitsubishi Electric Corp | マルチクロック並列処理装置 |
JP2001331767A (ja) * | 2000-05-22 | 2001-11-30 | Sharp Corp | アダプタカードシステム |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4860192A (en) * | 1985-02-22 | 1989-08-22 | Intergraph Corporation | Quadword boundary cache system |
JP3099889B2 (ja) | 1990-06-29 | 2000-10-16 | 株式会社東芝 | 電子計算機、プログラマブル論理回路及びプログラム処理方法 |
US5684980A (en) * | 1992-07-29 | 1997-11-04 | Virtual Computer Corporation | FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions |
US5473763A (en) * | 1993-08-02 | 1995-12-05 | Advanced Micro Devices, Inc. | Interrupt vector method and apparatus |
US5426378A (en) * | 1994-04-20 | 1995-06-20 | Xilinx, Inc. | Programmable logic device which stores more than one configuration and means for switching configurations |
EP0729609A1 (en) * | 1994-09-19 | 1996-09-04 | Koninklijke Philips Electronics N.V. | A microcontroller system for performing operations of multiple microcontrollers |
US6077315A (en) * | 1995-04-17 | 2000-06-20 | Ricoh Company Ltd. | Compiling system and method for partially reconfigurable computing |
JPH08316329A (ja) | 1995-05-24 | 1996-11-29 | Nec Eng Ltd | 情報処理装置 |
US5760602A (en) * | 1996-01-17 | 1998-06-02 | Hewlett-Packard Company | Time multiplexing a plurality of configuration settings of a programmable switch element in a FPGA |
US6023564A (en) * | 1996-07-19 | 2000-02-08 | Xilinx, Inc. | Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions |
CA2239186A1 (en) | 1996-10-10 | 1998-04-16 | Semiconductores Investigacion Y Diseno, S.A. - (Sidsa) | Process for the prototyping of mixed signal applications and field programmable system on a chip for applying said process |
US5915123A (en) * | 1997-10-31 | 1999-06-22 | Silicon Spice | Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements |
JP3878307B2 (ja) | 1997-12-19 | 2007-02-07 | 松下電器産業株式会社 | プログラマブルなデータ処理装置 |
DE19807872A1 (de) * | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
WO2000031652A2 (en) * | 1998-11-20 | 2000-06-02 | Altera Corporation | Reconfigurable programmable logic device computer system |
US6288566B1 (en) * | 1999-09-23 | 2001-09-11 | Chameleon Systems, Inc. | Configuration state memory for functional blocks on a reconfigurable chip |
JP2001147802A (ja) | 1999-11-19 | 2001-05-29 | Minolta Co Ltd | 画像処理装置 |
US6438737B1 (en) * | 2000-02-15 | 2002-08-20 | Intel Corporation | Reconfigurable logic for a computer |
US6326806B1 (en) * | 2000-03-29 | 2001-12-04 | Xilinx, Inc. | FPGA-based communications access point and system for reconfiguration |
US6836839B2 (en) * | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US20030056091A1 (en) * | 2001-09-14 | 2003-03-20 | Greenberg Craig B. | Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations |
CN1605058A (zh) * | 2001-10-16 | 2005-04-06 | 捷豹逻辑股份有限公司 | 关于嵌入式字段可编程门阵列核心的接口结构 |
US6573748B1 (en) * | 2001-11-06 | 2003-06-03 | Xilinx, Inc. | Programmable logic device with output register for specifying memory space during reconfiguration |
JP2006018413A (ja) * | 2004-06-30 | 2006-01-19 | Fujitsu Ltd | プロセッサおよびパイプライン再構成制御方法 |
-
2004
- 2004-06-21 WO PCT/JP2004/008709 patent/WO2005001689A1/ja active Application Filing
- 2004-06-21 US US10/561,941 patent/US7603542B2/en not_active Expired - Fee Related
- 2004-06-21 JP JP2005511009A patent/JP4665760B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09218781A (ja) * | 1996-02-13 | 1997-08-19 | Nec Corp | 遠隔保守システム |
JPH1195994A (ja) * | 1997-09-18 | 1999-04-09 | Fujitsu Ltd | プログラマブル・ゲートアレイのコンフィグレーション方法及びプログラマブル・ゲートアレイ装置 |
JP2000040745A (ja) * | 1998-01-21 | 2000-02-08 | Lucent Technol Inc | ハ―ドウェアのセットを再構成する方法および再構成可能ハ―ドウェア装置 |
JP2000181566A (ja) * | 1998-12-14 | 2000-06-30 | Mitsubishi Electric Corp | マルチクロック並列処理装置 |
JP2001331767A (ja) * | 2000-05-22 | 2001-11-30 | Sharp Corp | アダプタカードシステム |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133456A (ja) * | 2005-11-08 | 2007-05-31 | Hitachi Ltd | 半導体装置 |
WO2008090961A1 (ja) | 2007-01-24 | 2008-07-31 | Nippon Shokubai Co., Ltd. | 粒子状吸水性ポリマーおよびその製造方法 |
WO2008096713A1 (ja) | 2007-02-05 | 2008-08-14 | Nippon Shokubai Co., Ltd. | 粒子状吸水剤およびその製造方法 |
WO2010090875A1 (en) | 2009-01-21 | 2010-08-12 | Rigel Pharmaceuticals, Inc. | Derivatives of n2-(3-pyridil or phenyl)-n4-(4-piperidyl)-2,4-pyrimidinediamine useful in the treatment of inflammatory, autoimmune or proliferative diseases |
JP2011065353A (ja) * | 2009-09-16 | 2011-03-31 | Nec Corp | 並列処理システム制御装置、その方法及びそのプログラム |
WO2014112082A1 (ja) * | 2013-01-17 | 2014-07-24 | 富士通株式会社 | プログラマブルロジック装置 |
Also Published As
Publication number | Publication date |
---|---|
US7603542B2 (en) | 2009-10-13 |
US20060155968A1 (en) | 2006-07-13 |
JPWO2005001689A1 (ja) | 2006-08-10 |
JP4665760B2 (ja) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102187912B1 (ko) | 인터럽트들의 세트들을 구성하는 장치 및 방법 | |
JP5131188B2 (ja) | データ処理装置 | |
WO2004079583A1 (ja) | データ転送制御装置およびdmaデータ転送制御方法 | |
US20090271790A1 (en) | Computer architecture | |
CN107548488B (zh) | 具有dsp引擎及增强上下文切换能力的中央处理单元 | |
CN101261577A (zh) | 微处理器以及在微处理器中存储数据的方法 | |
JP2003296191A (ja) | 汎用プロセッサおよび周辺装置のプロセッサとして動作可能な集積回路 | |
JP2007133456A (ja) | 半導体装置 | |
JPH0863354A (ja) | コンピュータプロセッシングを行うための装置及び方法 | |
JP4665760B2 (ja) | 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム | |
KR100834180B1 (ko) | 프로그램/명령어의 실행을 구동하는 “l”구동법 및그것의 아키텍처와 프로세서 | |
JPH07287682A (ja) | コンピュータシステム | |
WO2006134804A1 (ja) | 外部デバイスアクセス装置 | |
JP5131269B2 (ja) | マルチプロセッシングシステム | |
JP2003196246A (ja) | データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体 | |
JP2003202999A (ja) | 仮想計算機システム | |
JPH11232213A (ja) | 入出力装置におけるデータ転送方式 | |
JP2826309B2 (ja) | 情報処理装置 | |
CN111177027A (zh) | 动态随机存取存储器、内存管理方法、系统及存储介质 | |
JPH01145770A (ja) | ベクトル処理装置 | |
JP2012155515A (ja) | ソースデバイスドライバ及び実行モジュールの作成方法 | |
JP2011118744A (ja) | 情報処理装置 | |
JP7466806B1 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JPH0687221B2 (ja) | 情報処理装置 | |
JP2001255902A (ja) | デュアルポートメモリ、そのデータ転送方法、及びデュアルポートメモリを用いる制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
DPEN | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2005511009 Country of ref document: JP |
|
ENP | Entry into the national phase |
Ref document number: 2006155968 Country of ref document: US Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10561941 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 10561941 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |