WO1998013759A1 - Machine de traitement de donnees et systeme de traitement de donnees - Google Patents
Machine de traitement de donnees et systeme de traitement de donnees Download PDFInfo
- Publication number
- WO1998013759A1 WO1998013759A1 PCT/JP1996/002819 JP9602819W WO9813759A1 WO 1998013759 A1 WO1998013759 A1 WO 1998013759A1 JP 9602819 W JP9602819 W JP 9602819W WO 9813759 A1 WO9813759 A1 WO 9813759A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- instruction
- task
- selector
- register
- data processor
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
Definitions
- the present invention relates to a data processor, and more particularly to a multitasking or task switching technique in a data processor, and is applied to, for example, a data processor that processes a plurality of tasks in a pipeline, and a data processing system to which the data processor is applied. It is about effective technology. Background art
- Pipelining improves the throughput of data processing by dividing one large process into multiple processing elements and executing new processing one after another at the time required for each processing element, that is, at the pipeline pitch. It is. For example, when the control processing for executing one instruction is divided into each processing of instruction fetch, instruction decode, operation, memory access, and register store, each of the above processing is regarded as one pipeline stage. Instruction fetch is performed for each pipeline (pipeline bit) of two pipeline stages, and apparently one instruction is executed at one pipeline pitch.
- a data processor with a single-path scalar architecture can execute multiple instructions simultaneously with multiple pipelines.
- inter-instruction dependencies such as a data conflict state in which an instruction uses the execution result of another instruction. If it turns out to shift data conflicts into instructions to be executed in parallel, some of the pipelines will stop executing instructions and wait for the other instruction to complete.
- Considering the use of the pipeline vacated by the data conflict for the execution of another task it is necessary to shorten the processing time associated with task switching and minimize the disruption of the pipeline. What has to be done has been made clear by the present inventors.
- the data processor can be equipped with a cache memory to speed up operand access. If the cache memory cache line is corrupted, the corresponding memory contents must be rewritten. For example, if only the data processor occupies the main memory, the rewritten content may be reflected in the main memory only when the cache line is replaced. Such an operation is referred to as a light stroke.
- a DMA (Direct Memory Access) controller connected to the outside of the data processor reads an incorrect data from the main memory in which the rewriting of the cache memory is not reflected in the main memory, and reads the data from the main memory. There is a risk of transfer. Such a problem is called a cache coherency problem.
- a write-through method that performs a memory write operation every time a cache hit is performed during a memory write operation is adopted for the cache memory.
- the cache memory can be made into a non-locking configuration using a light buffer.
- the data processor uses up the data transfer capability of the bus connecting the DMA controller and main memory for cache coherency. As a result, when high-speed data transfer is performed by the DMA controller, there is a problem that the data transfer speed is limited.
- an operation that does not maintain cache coherency is performed.
- Techniques for detecting and writing back at that time can be employed. For example, if the data controller detects an operation (bus snoop) for read access to the data stored in the cache memory, the data processor interrupts the operation of writing back the data, and then the DMA transfer is performed. Enable. However, the burden on the data processor of detecting operations that do not maintain cache coherency increases.
- An object of the present invention is to provide a data processor that can reduce processing associated with task switching and improve data processing capability.
- an instruction fetch (10) fetches an instruction, and an instruction latched in an instruction register (11) is decoded by an instruction decoder (12). Instruction execution based on the decoding result
- the data processor (1) in which the unit (13) executes the instructions includes a program storage area (160, 170) and a memory (16) for sequentially reading the instructions stored in that area.
- a plurality of task buffers (16, 17) respectively provided with the respective instruction buffers, and register means dedicated to the respective task buffers and arranged in the instruction execution unit.
- the task buffers have their own unique pointers, and the instruction execution unit has a unique register means assigned to each task buffer. Therefore, the task to be executed is in accordance with the instruction program program. Saves or restores the interrupted normal instruction processing execution state (eg, the value of the program counter or general-purpose register) when switching between the normal instruction processing and the swap buffer processing according to the task buffer program. It does not require processing to access the stack area of the external memory. This achieves faster task switching and reduced processing associated with task switching, contributing to an improvement in the data processing capability of the data processor.
- interrupted normal instruction processing execution state eg, the value of the program counter or general-purpose register
- the instruction execution unit outputs an instruction signal (LIR) for latching an instruction in the instruction register, and the selector supplies the instruction signal to an instruction picture unit or a task buffer selected by the switching control means.
- the instruction feature may update the instruction to be supplied to the instruction register based on the instruction signal, and the task buffer may update the bus instruction based on the instruction signal. This control facilitates the task buffer control.
- the switching control means switches the selector to the previous instruction based on the result of decoding the instruction supplied from the task buffer selected by the switching control means to the instruction decoder. You can return to the selected state of the bird. That is, in consideration of the completion of the selected step task processing to return to the normal instruction processing and the completion of the step task processing with the highest priority, as shown in FIG.
- an interrupt disable signal IH
- the switching control means (19) selects the task sofa (16, 17) as in a data processor (1A) illustrated in FIG.
- the selector (18) is returned to the selected state of the instruction fetch unit by the control signal ICNT corresponding to the acceptance of the interrupt by the instruction execution unit (13), and the previous task buffer is selected. What is necessary is just to save the state.
- the data processor (1) can be provided with a data cache memory (15) between the instruction execution unit and the outside. As shown in FIG. 20, this data processor is connected to a memory via a bus (4). Connected to multiple peripheral circuits (2, 5) to form a data processing system. At this time, when a DMA transfer control program or a DMA transfer and data conversion control program is set in the task buffer, the load on the data processor for solving the problem of cache coherency can be reduced. That is, in a state where the processing task of the processor is switched to the DMA transfer control processing via the selector or the like, the function as the DMA controller is realized by the execution unit.
- an address signal or access control information for DMA transfer control always uses a data cache memory. I will pass.
- the cache memory adopts the write knock method, even if the DMA transfer is started in a state where the rewrite of the cache memory is not reflected in the external memory, such an external memory is used.
- the data not reflected in the memory is read from the cache memory to the instruction execution unit and transferred.
- the data processor detects a DMA transfer operation that does not maintain cache coherency, does not need to perform a write-back operation in advance when it detects a DMA transfer operation, and does not need to maintain cache coherency.
- the processing load of the data processor for detecting the sending operation can be reduced.
- the transfer data is once read into the data processor.
- the task switching means can also be applied to superscalar data processors (1B, 1C) illustrated in FIGS. 14 and 16.
- the instruction latch (11A, 11B) latched to the instruction register (11A, 11B) is decoded by the instruction decoder (12A, 12B), and the instruction execution unit (13A, 13B) is decoded.
- a plurality of instruction execution control sequences for executing the instruction are provided, and
- a data processor (1B, 1C) including an instruction fetch unit (10) for fetching and capable of executing a plurality of instructions in parallel with the plurality of instruction execution control sequences is stored in a program storage area and the program storage area.
- this data processor as well, it is possible to switch between normal instruction processing and swap task processing by using one instruction execution control system. Can be achieved and pipeline disruption can be minimized. C Therefore, the high data processing capability originally intended by superscalar architectures can be guaranteed.
- a single-pass power processor that can execute a plurality of instructions in parallel
- the instructions included in the respective instruction execution control sequences Based on the results of decoding instructions from the decoder, examine the dependencies between instructions to determine whether parallel execution of instructions by different instruction execution control sequences is possible, and depend on the execution results of other instructions.
- a conflict management unit (25) that delays the execution of the instruction to be executed will be provided.
- the switching control means causes the contention management unit to execute a specific instruction due to a data conflict or the like.
- execution is delayed, by causing the selector (18) to select a task buffer in response to the control signal 250 for notifying the execution, the processing is interrupted by one of the instruction execution control systems or by the pipe. Instruction processing can be switched to step processing, and the instruction execution control sequence can be used effectively. In particular, when switching tasks, as described above, it is not necessary to save the execution state of normal instruction processing that is interrupted halfway. Can be migrated to.
- the contention state such as the data conflict is determined by the contention management unit (25) based on the result of the instruction decode. At this time, the instruction whose processing is to be delayed has already been decoded. After that, the process is switched to the swap task process. However, if the normal instruction process in which the process is interrupted and the swap task process in which the process is started use the same instruction register and instruction decoder, then 17 As illustrated in Figure 7, pipe
- FIG. D In order to avoid any disturbance in the pipeline at the time of switching from the normal instruction processing to the step task processing due to the data conflict described above, as shown in FIG. D) is an instruction execution control system dedicated to swap task processing.
- the data processor (1D) includes a plurality of task buffers (16, 17) each having a program storage area and a bus node for sequentially reading instructions stored in that area.
- the specific task A second selector (26) connected to the instruction register for the task, and selectively outputting the output of the instruction decoder corresponding to the specific instruction execution unit and the output of the instruction decoder for the specific task to the specific instruction.
- a third selector (27) connected to the execution unit, and a different instruction execution control sequence based on instruction decoding results from instruction decoders included in the respective instruction execution control sequences. Investigate whether or not parallel execution of instructions is possible by examining the dependencies between the instructions, delay the execution of a specific instruction that depends on the execution result of another instruction, and delay the execution of the specific instruction.
- a conflict management unit (25) for causing the selector of (3) to select the instruction decoder for the specific task; and causing the first selector to select the instruction fetch unit in the initial state and a second selector.
- FIG. 1 is a block diagram of a data processor according to a first embodiment of the present invention
- Fig. 2 is a block diagram of an example of an instruction program.
- FIG. 3 is a block diagram showing a first example of a swap task buffer
- FIG. 4 is a block diagram showing a second example of a swap task buffer
- FIG. 5 is a block diagram showing a third example of a swap task buffer.
- FIG. 6 is a block diagram showing a fourth example of the swap task buffer
- FIG. 7 is an explanatory diagram of an example of a register set included in the instruction execution unit
- FIG. 8 is related to the first embodiment. Explanatory drawing of an example of a task switching operation in a data processor
- FIG. 9 is an explanatory diagram of an example of a switching operation between normal instruction processing and interrupt processing.
- FIG. 10 is an example timing chart showing a relationship between task switching and a pipeline in the data processor according to the first embodiment.
- FIG. 11 is an operation timing chart of an example of the data processor according to the first embodiment in which no interrupt is accepted during the step task.
- FIG. 12 is a block diagram of a data processor according to a second embodiment of the present invention.
- FIG. 13 is an operation timing chart of an example of the data processor according to the second embodiment for receiving an interrupt during a swap task;
- FIG. 14 is a block diagram of a data processor according to a third embodiment of the present invention.
- FIG. 15 is an example timing chart showing the contents of control and task switching control when a data conflict occurs in the data processor according to the third embodiment.
- FIG. 16 is a block diagram of a data processor according to a fourth embodiment of the present invention.
- FIG. 17 is a timing chart showing the contents of task switching control when a data conflict occurs in the data processor according to the fourth embodiment.
- FIG. 18 is a block diagram of a data processor according to a fifth embodiment of the present invention.
- FIG. 19 is a timing chart showing the task switching control performed by the data processor according to the fifth embodiment when a data conflict occurs
- FIG. 20 is an example block diagram of a data processing system to which the data processor of the present invention is applied.
- FIG. 21 is an explanatory diagram showing an example of a sunset based on the DMA transfer control and data conversion control program.
- FIG. 22 is an explanatory diagram showing an example of the minimum unit of the program description of the DMA transfer control and data conversion control program.
- FIG. 23 is a block diagram of an example of a data processing system including a cache memory employing a write-back method and a DMA controller arranged outside the data processor.
- BEST MODE FOR CARRYING OUT THE INVENTION FIG. 1 shows a block diagram of a data processor according to the first embodiment of the present invention.
- the data processor 1 shown in FIG. 1 is formed on one semiconductor substrate such as single crystal silicon by a known semiconductor integrated circuit manufacturing technique.
- 10 is the instruction fetch unit
- 11 is the instruction register
- Reference numeral 9 denotes a switching control circuit
- reference numeral 20 denotes a circuit block that generically refers to built-in peripheral modules.
- the instruction execution unit 13 includes a program counter PC, a general-purpose register GR, a register set S1, S2 individually assigned to each of the swap task buffers 16 and 17, and an interrupt. Includes control circuit 131, sequence control circuit 132, arithmetic circuit 133, etc.
- the instruction register 11, the instruction decoder 12 and the instruction execution unit 13 advance the processing in units of pipeline stages, and execute the pipeline processing of the instructions.
- the operation cycles of the instruction register 11, the instruction decoder 12 and the instruction execution unit 13 are synchronized with the operation reference clock signal (not shown) of the processor 1 by the sequence control circuit 13 2. Control.
- the instruction execution unit 13 is externally interfaced through a data cache memory 15 connected to the internal bus BUS, although not particularly limited.
- the target of data cache memory cache is external memory 2 and so on.
- the cache memory 15 is illustrated as a circuit block including a cache memory, a cache tag, and a cache controller (not shown).
- the cache data section holds a part of the data held in the external memory 2 or the like.
- the cache evening section is cash —Retain a part of the address (addressless) as a cache tag in association with the data held by Yube.
- the cache controller outputs the hit data to the internal bus BUS from the cache bus, or the hit data as a new entry in the cache bus. Write in the evening.
- this cache controller performs processing for writing back the contents of the cache data rewritten by the cache hit to the external memory 2 or the like only when the cache line is replaced. This is done by writing back.
- the program counter PC has an instruction address to be executed next.
- the instruction state 10 is not particularly limited, but is not limited to an instruction predicted to be executed in the future based on the value of the program count PC (for example, an instruction specified by the program count PC and a plurality of instructions subsequent thereto). Instruction).
- the instruction to be fetched is stored in the external memory 3 without any particular limitation.
- an instruction cache memory 14 is arranged between the external memory 3 and the instruction fetch unit 10.
- the instruction cache memory 14 is shown as a circuit block including a cache controller, a cache controller, and a cache controller (not shown).
- the cache part stores a part of the instructions stored in the external memory 3 or the like.
- the cache tag section holds the address section (address tag) as a cache flag in association with the instruction held by the cache data section.
- Cache control is a command In the case of a cache hit in the memory access by the cut 10, the instruction held by the cache memory is transferred to the instruction fetch unit 10 .In the case of a cache miss, the instruction is read from the external memory 3. To give the instruction Fetish 10.
- the instruction fetch unit 10 is not particularly limited, but is first-in first-out.
- (First-in ⁇ First-out) It has a buffer function, and can prefetch instructions for multiple codes for the value of the program counter PC.
- four-stage latches 100 A to 100 D are arranged in series, and directly connected to the external via selectors 101 A to 101 C without passing through the preceding latch.
- the instruction from the instruction cache memory 14 can be fetched.
- Reference numeral 102 denotes a control circuit for fetching instructions, which outputs the address of the instruction to be fetched based on the value of the program counter PC, and precedes the instruction input by the instruction, thereby providing a first-out instruction.
- the latch is held at 100 A to 100 D.
- the output is performed from the 100 A to 100 D ft.
- the latch 100 A I 00 D latches the instruction every two words ⁇ , and the instruction decoder 12 decodes the instruction one word at a time. In response to this, the output of the data latch 100D is divided into a low-order word and a high-order word by the selector 103 and output.
- Each of the step task buffers 16 and 17 has a pointer for sequentially reading out the instructions stored in the program storage areas 160 and 170 and the storage areas 160 and 170, respectively. 16 1 and 17 1.
- the swap task buffer 16 can be written to its program storage area 160 by the execution unit 13 via the internal bus BUS.
- the swap task buffer 17 has a serial interface controlled by the instruction execution unit 13 (the control lines are shown in the figure). Writing to the program storage area 170 is enabled via 21).
- the shift register and the selector are assumed to be storage areas 160 (170), and a shift register having a plurality of parallel human output type latches LAT cascaded and respective latches are provided.
- a selector SEL that selects one bit at a time from the parallel output of LAT and outputs it in parallel, and a selector that selects the output of each latch LAT to the SEL in order from the upper or lower side via the selector SEL. Evening 1 60 (1 70). For example, if n stages of latches LAT each having m bits are provided, the instruction can be sequentially output m times in units of n bits.
- FIG. 4 shows a configuration in which the number of stages of the latch LAT is different from that of FIG.
- a RAM Random Access Memory
- Pointer 161 generates an access address to RAM.
- Instruction execution unit 13 controls writing to RAM.
- FIG. 5 shows a RAM (Random Access Memory) consisting of a memory cell array MCA 1 in which dynamic memory cells or static memory cells are arranged in a matrix and an address decoder ADEC 1 is used as a storage area 160.
- Pointer 161 generates an access address to RAM.
- Instruction execution unit 13 controls writing to RAM.
- FIG. 1 Random Access Memory
- a ROM Read Only Memory
- the swap task buffers 16 and 17 store a program composed of an instruction sequence for implementing one integrated process. A single unit of processing performed by a specific instruction sequence If it is defined as a task, a processing program related to a specific task is stored (for example, a processing program for DMA transfer, a processing program for data compression / decompression, etc. are set. Loading of the processing program to 16 and 17 is not particularly limited, but can be performed via the serial interface 21 or the instruction execution unit 13 at the time of system initialization such as power-on reset. it can.
- the selector 18 selects one of the swap task buffers 16 and 17 and the instruction fetch unit 10 and connects it to the instruction register 11.
- the connection control is performed by the switching control circuit 19.
- the switching control circuit 19 causes the selector 18 to select the instruction feature 10 at the time of the initialization reset of the data processor 1, and thereafter, a predetermined event generated inside and outside, for example, the built-in peripheral circuit module 2
- the selector 18 selects the output of the swap task buffer 16 or 17 in accordance with the interrupt signal 22 from 0 and the notification signal 23 of the occurrence of a predetermined event outside.
- the swap task buffer to be selected is determined by the control circuit 19 by switching the correspondence table between the event source and the swap task buffer, or the P4 step is performed for each event generation notification signal. Task buffers can be allocated and controlled.
- the instruction execution unit 13 outputs an instruction signal LIR that causes the instruction register 11 to latch an instruction.
- the instruction register 11 latches the instruction in synchronization with the instruction signal LIR.
- the selector 18 supplies the instruction signal LIR to the instruction fetch unit 10 or the swap task buffers 16 and 17 selected by the switching control circuit 19.
- the instruction fetch unit 10 updates the instruction to be supplied to the instruction register 11 based on the instruction signal.
- the task buffers 16 and 17 receive the instruction signal LIR.
- the bus terminals 161 and 171 are updated based on the instruction signal LIR.
- the bus task 16 1 or 17 1 of the swap task buffer 16 or 17 selected by the selector 18 is sequentially updated, and the instruction corresponding to the value of the bus task is stored in the storage areas 160 and 170. Will be supplied to the Order Regis Evening 11.
- the end of the execution of the program stored in the swap task buffers 16 and 17 is switched by the end signal 120 output when the instruction executed at the end of the program is decoded by the instruction decoder 12 and output.
- the control circuit 19 recognizes. Upon receiving the decoded result (end signal 120), the switching control circuit 19 returns the selector 18 to the selected state of the instruction feature 10.
- FIG. 7 shows an example of a register configuration of the instruction execution unit 13.
- General-purpose Regis U GR includes Regis U SR, R0 to R15. SR is assigned to station overnight, address registers R0 to R7 are assigned to evening register and address register evening, and R8 to R15 are assigned to evening register and address register evening, stack Assigned to Poin Yu and others.
- the resist evening set S 1 includes the resist evening S 1 SR, S 1 R 0 to S 1 R 7, and the resist evening set S 2 includes the resist evening S 2 SR, S 2 R 0 to S 2 R 7. Including, these register sets S 1 and S 2 are used in place of the register registers SR and R 0 to R 7 of the general-purpose register GR and have unique register addresses.
- the register set S1 is dedicated to the execution of the program stored in the swap task buffer 16 and the register set S2 is dedicated to the execution of the program stored in the swap task buffer 17.
- the registers SR and R0 to R7 in the general-purpose register GR are assigned to execute the instructions output from the instruction fetch unit 10.
- the instruction execution unit 13 uses the registers SR and R0 to R15 for executing the instruction, and the instruction output from the swap task buffer 16 is used.
- the instruction execution unit 13 uses the registers S1SR and S1R0 to S1R7 for instruction execution, and when an instruction output from the swap task buffer 17 is selected, the instruction is executed.
- the execution unit 13 uses the registers S2SR and S2R0 to S2R7 for executing instructions.
- the swap buffers 16 and 17 have their own unique pointers 16 1 and 17 1, respectively, and the unique registry buffers assigned to the respective swap task buffers 16 and 17. Since it has sets S 1 and S 2, when the task to be executed is switched between the instruction fetch unit 10 and the swap task sniffer 16, 17, the program counter PC and the register GR are switched. There is no need to perform any processing to access the storage area such as the external memory 2 to save or restore the value of.
- FIG. 8 shows an example of task switching operation.
- the execution of the program (swap task 1) stored in the swap task buffer 16 is requested by the signal 23, for example.
- the switching control circuit 19 switches the selection state by the selector 18 to the skip buffer 16 in synchronization with the switching of the pipeline stage.
- the swap task buffer 16 instructs and outputs the first instruction of the swap task 1 in synchronization with the instruction # 3 LIR by the pin register 161, and the instruction register 11 latches it. I do.
- the instruction execution unit 13 is When executing a task, the register set S1 specified by the instruction description of the task is used.
- the switching control circuit 19 causes the selector 18 to select the instruction fetch unit 10.
- the values of the program counter PC; status register SR, data, and address register R0 to R7 are maintained as they were immediately before switching to the top task 1.
- the registers R8 to R15 are not used. Therefore, even when switching to normal instructions, memory access for return is not required.
- a memory access for saving and restoring is required every time switching is performed. Memory access for saving and restoring is a task switching or pipeline switching overhead.
- FIG. 10 shows an example of the state of the pipeline at the time of switching between the normal instruction processing and the step task 1.
- the pipeline stage in the data processor 1 of this embodiment has five pipeline stages, and the pipeline stages in the normal instruction processing include instruction fetch (In), instruction decode (Dn), and operation (En). , Memory access (An) and register store (Sn).
- the pipeline stages in the swap task are instruction transfer (C s), instruction decode (D s), operation (E s), memory access (As), and register store (S s).
- step task 1 when execution of step task 1 is requested in pipeline stage m, the switching control circuit 19 switches to pipeline stage m + 1.
- the instruction corresponding to the first instruction of the swap task 1 is transferred to the instruction register 11 (C s 1).
- C s instruction register 11
- the processing is advanced one by one for each pipeline stage.
- the instruction execution unit 13 uses the general-purpose register GR for execution of normal instruction processing, but uses the register S1 for execution of the swap task 1. Which register evening to use is determined by each command description.
- the end signal 120 is supplied to the switching control circuit 19.
- the switching control circuit 19 causes the selector 18 to select the instruction fetch unit 10 at the pipeline stage n + 1, whereby the instruction register unit 11 is provided at the instruction register 11 after the pipeline stage n + 1. Instructions are supplied from 0.
- memory access for restoration is not required when switching to normal instruction processing.
- the interrupt control circuit 1331 is supplied with an interrupt request signal IRQ shown as a representative.
- the interrupt control circuit 131 accepts an interrupt request according to the interrupt priority set for the interrupt control circuit.
- the switching control circuit 19 enables the interrupt acceptance inhibition signal INH while the swap task buffer 16 or 17 is selected by the selector 18 to enable the interrupt control circuit 1.
- the interrupt control circuit 131 does not accept any interrupt request when the interrupt disable signal INH is enabled. Therefore, When executing a task according to the program of the swap task buffer 16 or 17, the data processor 1 does not switch tasks until the execution of the task is completed. In other words, the task executed by the program stored in the step task buffer 16 or 17 is given the highest execution priority.
- the interrupt control circuit 13 1 suspends the execution of the current instruction and stores the contents of the program counter PC, status register SR, data and address register R 0 to R 15 into the external memory 2, etc. And then branch to the accepted interrupt request processing program.
- FIG. 11 shows an operation example when an interrupt is not accepted during the swap task as described above. If there is an interrupt request during normal processing, the program returns to the normal processing after saving the return address, etc., then branches to interrupt processing. When the interrupt processing is completed, it returns to normal processing.
- the switching control circuit 19 causes the swap task buffer 16 to be selected, and is immediately shifted to the execution of the swap task 1. While the swap task 1 is being executed, the interrupt disable signal I ⁇ is enabled, so that even if there is an interrupt request, no interrupt request is accepted during that time. The interrupt request that has been disabled is accepted after the interrupt disable signal I_ ⁇ is disabled after the execution of swap task 1 is completed.
- branching to interrupt processing first, the return address of the interrupted normal instruction processing and the value of the register are saved, and then the processing branches to interrupt processing. After interrupt processing is completed, the saved information is restored, and then the process returns to normal instruction processing.
- FIG. 12 shows a second embodiment of the data processor according to the present invention.
- the data processor 1 shown in the figure can be assigned while executing the task by the program stored in the swap task buffer 16 or 17.
- the difference from the data processor 1 in FIG. The other points are the same as those in FIG. 1, and the same reference numerals are given to the circuit blocks having the same functions, and detailed description thereof will be omitted.
- the interrupt control circuit 1331 when the interrupt control circuit 1331 receives the interrupt request, it enables the interrupt control signal ICNT and supplies it to the switching control circuit 19 described above.
- the switching control circuit 19 instructs the selection state by the selector 18 to an instruction.
- the information for specifying the swap task buffers 16 and 17 selected immediately before switching is saved.
- the evacuation destination is desirably an evacuation latch (not shown) inside the switching control circuit 19. It may be saved in the stack area such as the external memory 2, but in that case, when returning from the interrupt processing to the step task, an external bus access cycle must be started to restore the step task selection information. This is because the return to the step task processing is delayed.
- Figure 13 shows an example of operation when an interrupt is accepted during the swap task. If there is an interrupt request in the middle of normal instruction processing, the program returns to the return address, etc., branches to interrupt processing, and the interrupt processing ends. Then, after performing the return processing, it returns to the normal instruction processing.
- the switching control circuit 19 causes the selector 18 to select the swap task buffer 16 and immediately proceeds to the execution of the swap task 1.
- the interrupt control circuit 1331 can receive an interrupt even during execution of the swap task 1, and upon receiving the interrupt, enables the interrupt control signal ICNT and supplies it to the switching control circuit 19.
- the switching control circuit 19 switches the selection state of the selector 18 to the instruction fetch unit 10 and controls the switching task selection information for identifying the swap task buffer selected at that time. evacuate. Then, the instruction execution unit 13 that has accepted the interrupt saves the return address and the register information of the normal instruction processing in which the processing has been interrupted earlier to the stack area (S1), and then branches to the interrupt processing program. I do. When the interrupt processing is completed (T 1), the interrupt control signal ICNT is disabled, and the switching control circuit 19 causes the interrupted swap task 1 according to the saved swap task selection information. Resume execution of. When the last instruction of the swap task 1 is decoded by the instruction decoder 12, an end signal 120 is given to the switching control circuit 19, whereby the switching control circuit 19 switches the selector 18.
- the control circuit 19 first switches the selector 18 to the swap task buffer 16 based on the fact that the step task selection information has been saved. Because you can.
- FIG. 14 shows a third embodiment of the data processor according to the present invention.
- the data processor 1B shown in FIG. 1 has a single-pass color architecture, and can execute a plurality of instructions in parallel by two pipelines. That is, the instruction latch unit 11A decodes the instruction latched to the instruction register 11A with the instruction decoder 12A, and the instruction execution unit 13A executes the instruction.
- the instruction execution unit 13B decodes the instruction latched in 1B by the instruction decoder 12B, and the instruction execution unit 13B has a second instruction execution control sequence for executing the instruction.
- Pipeline processing performed in the first instruction execution control sequence is referred to as pipe 0, and pipeline processing performed in the second instruction execution control sequence is referred to as pipe1.
- LIRA is an instruction latch instruction signal for the instruction register 11A
- LIRB is an instruction latch instruction signal for the instruction register 11B, and corresponds to the instruction signal LIR.
- the instruction execution units 13A and 13B respectively have dedicated sequence control circuits 13A and 13B and arithmetic circuits 13A and 13B.
- Dependencies between instructions such as data conflicts between pipes 0 and 1 are detected by the conflict management unit 25 based on the decoded results of the instruction decoders 12A and 12B.
- the contention management unit 25 determines whether or not parallel execution of instructions by the nove 0 and the pipe 1 is possible based on the result of decoding the instructions from the instruction decoders 12A and 12B.
- the dependency relationship is examined, and the sequence control circuits 1332A and 1332B are controlled by the control signals ARBA and ARBB so as to delay the execution of an instruction that depends on the execution result of another instruction.
- Interrupt control circuit 13 1, program counter PC, general-purpose register G
- R is shared by both instruction execution units 13A and 13B.
- Regis Evening sets S 1 and S 2 are dedicated to instruction execution unit 13 B.
- the details are the same as those of the data processor in Fig. 1.
- the selector 18, the switching control circuit 19, and the swap task buffers 16 and 17 correspond to the instruction execution control sequence of the instruction register 11B. It is located.
- an instruction fetch unit 10 an instruction cache memory 14, a built-in peripheral module 20, a data cache memory 15 and the like are provided.
- components having the same functions as those of the first [# 1] are denoted by the same reference characters and their detailed description is omitted.
- both swap task buffers 16 and 17 are designed so that the program is initially loaded via the internal bus BUS.
- FIG. 15 shows an example of the contents of control and task switching control when a data conflict occurs in the data processor 1B.
- the conflict management unit 25 detects a data conflict at the decode stage ( ⁇ 1 + 1) of the instruction latched to the instruction register 11A or 11B at the pipeline stage m, it is executed later.
- the execution of the instruction to be executed is NOP (non-operation) until the execution result of the instruction to be executed first is obtained. That is, the result of the register store (S n) of the pipe 0 at the pipeline stage (m + 4) can be used at the operation stage (E n) of the pipe 1 at the stage (m + 4).
- the pipeline stage of Pive 1 is NOP.
- the switching control circuit 19 switches the selection state of the selector 18 to the skip buffer 16 at the pipeline stage m + 4,
- pipe 1 The instruction for the first instruction of step 1 is transferred to the instruction register 11B (Cs1).
- Cs1 the instruction register 11B
- the instruction execution unit 13B uses the register set S1 to execute the step task 1. Which register evening to use is determined by each command description as in the above example.
- an end signal 120 is supplied to the switching control circuit 19.
- the switching control circuit 19 causes the selector 18 to select the instruction fetch unit 10 at the pipeline stage n + 1, whereby the instruction register 11 B is stored in the instruction register 11 B after the pipeline stage n + 1 of the pipe 1. Instruction is supplied from fetish unit 10. As a result, normal instruction processing is resumed in pipe 1. As described above, switching to normal instruction processing does not require memory access for restoration. As described above, there is no disturbance in the pipeline when task switching is performed between normal instruction processing and step 1.
- FIG. 16 shows a fourth embodiment of the data processor according to the present invention.
- the data processor 1C shown in the figure has a single-path scalar architecture like the data processor 1B, and can execute a plurality of instructions in parallel by two pipelines.
- the difference from the data processor 1B is that the occurrence of data conflicts during normal instruction processing by pipes 0 and 1 is one of the factors for switching to the step task.
- the conflict management unit 25 switches a control signal 250 synchronized with the occurrence of a data conflict and a control circuit 19 Give to.
- the switching control circuit 19 performs the swap task 1 using the free space of the pipe 1 in the normal instruction processing due to the data conflict.
- FIG. 17 illustrates the contents of the task switching control when a data conflict occurs.
- the conflict management unit 25 detects a data conflict at the decode stage (m + 1) of the instruction latched at the instruction register 11A and 11B respectively at the pipeline stage m, it is executed later.
- Execution of the instruction to be executed is NOP (non-operation) until the execution result of the instruction to be executed first is available. That is, until the result of the register store (S n) of the pipe 0 at the pipeline stage (m + 4) becomes available at the operation stage (E n) of the pipe 1 at the stage (m + 4), the pipe 1 Execution of the normal instruction processing in the pipeline stage is stopped.
- the instruction is notified to the instruction execution unit 13B by the control signal ARBB.
- the competition management unit 25 activates the control signal 250 and supplies it to the switching control circuit 19.
- the switching control circuit 19 causes the selector 18 to select the step task buffer 16 in response thereto.
- the pipeline stage m + 1 ⁇ ! At 11 + 5, pipe 1 can process swap task 1.
- the period allowed for the processing of the swap task 1 is the period when the normal instruction processing of the pipe 1 is interrupted by the data conflict, and the period is controlled by the conflict management unit 25 and the control signal 25 Reflected in 0
- the control signal 250 is deactivated, the selected state of the selector 18 is returned to the original selected state of the normal instruction processing (the selected state of the instruction fetch unit 10).
- step task 1 When switching tasks, as described above, it is possible to proceed to step task 1 without having to save the program counter PC and the registry SR, R0 to R7.
- the instruction execution unit 13B uses the register set S1 to execute the swap task 1. Which register is to be used is determined by each command description as in the above example.
- the conflict management unit 25 also has In the same manner as described above, a tacon conflict is detected, and the result of the register store (S n) of the pipe 0 in the pipeline stage (m + 7) is calculated in the same manner as that of the pipe 1 in the stage (m + 7). Execution of normal instruction processing in the pipeline stage of pipe 1 is halted until it becomes available in (E n). Instead, pipe 1 is processing swap task 1.
- control signal 250 may be used as a control signal that defines the timing for actually processing the swap task selected by the signals 22 and 23.
- FIG. 18 shows a fifth embodiment of the data processor according to the present invention.
- the data processor 1D shown in the figure has a space scalar architecture like the data processor 1B, and can execute a plurality of instructions in parallel by two pipelines.
- Data processor 1D is connected to pipe 0 and pipe 1 in the same way as data processor 1C.
- the occurrence of data conflict during normal instruction processing is considered as one of the switching factors to the step task, and the instruction register 11c dedicated to the step task executed at that time is It is different from the processor 1C in that it has an instruction decoder 12C.
- the instruction register 11 C input is selected by the selector 26, and the output of the instruction decoder 12 B or 12 C is selected by the selector 27.
- the conflict management unit 25 supplies a control signal 250 enabled in synchronization with the occurrence of the data conflict to the switching control circuit 19 and the selector 27.
- the selector 27 selects the output of the instruction decoder 12C
- the control signal LIRB is also supplied to the instruction register 11C
- the instruction register 11B retains the currently held instruction.
- instruction register 11C is enabled to latch new instructions according to control signal LIRB.
- the switching control circuit 19 connects the swap task buffer 16 or 17 to the instruction register 11 C by the selector 26 by the control signal 250 in the enable state. Which connection is to be made may be selectable or fixed. For example, at the time of initialization reset of the data processor, it is possible to determine what to select according to the operation mode determined.
- the pipe 1 has its own instruction register 11C and instruction decoder 12C.
- instruction decoder 12C When resuming the execution of an instruction whose execution has been interrupted by a data conflict, it is not necessary to start over from the instruction fetch unlike the data processor 1C. The pipeline is not disturbed immediately. The rest of the configuration is the same as that of the processor 1C, and a detailed description of the configuration will be omitted.
- Figure 19 shows the data processor 1 when a data conflict occurs.
- the contents of the task switching control performed in D are illustrated.
- the conflict management unit 25 detects a data conflict in the decode stage (m + 1) of the instruction latched in the instruction register 11A and 11B at the pipeline stage m, the instruction is executed later.
- the instruction to be executed is NOP (non-operation) until the execution result of the instruction to be executed first is obtained. That is, until the result of the register store (Sn) of Pipe 0 at the pipeline stage (m + 4) becomes available at the operation stage (En) of Pipe 1 at the stage (m + 4). Then, the execution of the normal instruction processing in the pipeline stage of the knoop 1 is stopped.
- NOP non-operation
- the pipe 1 can perform the processing of the step task 1.
- the period allowed for the processing of swap task 1 is the period when the normal instruction processing of pipe 1 is interrupted by the data conflict, and the period is controlled by the conflict management unit 15 and is controlled by the control signal 250.
- the selected state of the selector 18 is returned to the original selected state of the normal instruction processing (the selected state of the instruction fetch unit 10) by being reflected and inactivating the signal 250.
- the instruction execution unit 13 B Uses the registry set S1 to execute the swap task 1. Which register is to be used is determined by the description of each command as in the above example.
- the conflict management unit 25 also removes data conflicts in the decode stages (m + 4) of the instructions latched in the instruction registers 11A and 11B, respectively, in the pipeline stage # 1 + 3.
- the result of the register store (S n) of the pipe 0 at the pipeline stage (m + 7) is performed in the same manner as the performance of the pipe 1 at the stage (m + 7).
- Execution of normal instruction processing in the pipeline stage of pipe 1 is halted until it becomes available in stage (E n). Instead, pipe 1 is processing swap task 1.
- FIG. 20 shows an example of a data processing system to which the data processor 1 is applied.
- the external memory 4 and the input / output circuit 5 are representatively connected to an external bus 4 of the processor 1.
- the external bus 4 includes an address bus ABUS, a data bus DBUS and a control bus CBUS.
- a swap task buffer 16 of the data processor 1 stores a DMA transfer control and data conversion control program.
- the start of the DMA transfer control and data conversion control program is an interrupt signal 230 assigned to one of the control signals 23. This interrupt signal 230 is supplied from the input / output circuit 5.
- FIG. 21 shows an example of a task according to the DMA transfer control and data conversion control program.
- the processing program of the data processor 1 switches to the DMA transfer control and data conversion control program stored in the swap task buffer 16.
- Can be The task processed by this program reads data from the input / output circuit 5 and The read data is subjected to data conversion (for example, compression or coordinate conversion) by the instruction execution unit 13, and the converted data is written and controlled in a predetermined area of the memory 2.
- the read address and the write address are sequentially updated by the program for each data transfer and data conversion.
- Fig. 22 shows an example of the minimum unit of the program description of such a DMA transfer control and data conversion control program.
- task switching using the swap task buffer does not require evacuation processing like normal interrupt processing and does not disrupt the pipeline, so it can respond quickly to events that occur. .
- the DMA transfer control program when the DMA transfer control program is set in the step task buffers 16 and 17, compared with the system configuration illustrated in FIG.
- the burden on the data processor 1 for solving the cache coherency problem can be reduced.
- the DMA controller 6 when the cache memory 15 adopts the write-back method, the DMA controller 6 starts DMA transfer without rewriting the cache memory 15 in the external memory.
- the processor 1E constantly monitors the start of the DMA transfer operation that does not maintain cache coherency, and when it detects this, a write-back operation is performed in advance. Must be performed, and the data processor 1 E must be responsible for processing for detecting an operation that does not maintain cache coherency.
- the data is read from the cache memory 15 to the instruction execution unit 13 and transferred.Therefore, the data processor 1 detects the operation that does not maintain cache coherency. There is no need to bear. In the DMA transfer control function realized by the data processor 1, the data transfer is read into the processor 1 every day.
- the number of swap task buffers is not limited to the above embodiment and can be changed as appropriate.
- the cache memory is not limited to a configuration in which the data cache memory and the instruction cache memory are separated, and may be a unified cache memory used for both instructions and data.
- the number of pipeline stages is not limited to the five stages in the above embodiment.
- the number of pipes that can be operated in parallel in the single-path power processor is not limited to two, but may be more.
- the content of the swap task can be applied as needed and is not limited. Industrial applicability
- the data processor according to the present invention includes various types of data processing systems, particularly systems in which tasks are frequently switched, It can be widely applied to systems that require improved capabilities, for example, a computer system for controlling embedded devices equipped with a digital camera for transferring image data and data compression as a step task. can do.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
L'invention concerne une machine de traitement de données (1) dans laquelle une unité de prise en charge d'instruction (10) prend en charge une instruction, un décodeur d'instruction (12) interprète l'instruction maintenue dans un registre d'instruction (11) et une unité d'exécution d'instruction (13) exécute l'instruction en fonction des résultats de l'interprétation assurée par le décodeur (12). Une des mémoires tampons de tâches (16 et 17) dotées chacune d'une zone de mémorisation de programme (160 et 170) et d'un pointeur (161 et 171) pour l'extraction successive de la mémoire d'instructions stockées dans les zones (160 et 170) ou l'unité (10) est sélectionnée au moyen d'un sélecteur (18). La sélection par le sélecteur (18) est commandée par un moyen de commande de commutation (19) en fonction d'un événement extérieur ou intérieur. Des moyens formant registres (S1 et S2) utilisés exclusivement pour les mémoires tampons de tâches (16 et 17) sont prévus dans l'unité d'exécution d'instruction (13) de sorte que la sauvegarde de l'état interne de l'unité (13) soit inutile lorsque l'on change de tâche par la sélection d'un programme mémorisé dans une mémoire tampon de tâches, depuis l'extérieur. Ainsi, la vitesse de changement de tâche est augmentée et la charge de la machine de traitement de données (1) au moment du changement de tâche est réduite.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP51547898A JP3778573B2 (ja) | 1996-09-27 | 1996-09-27 | データプロセッサ及びデータ処理システム |
PCT/JP1996/002819 WO1998013759A1 (fr) | 1996-09-27 | 1996-09-27 | Machine de traitement de donnees et systeme de traitement de donnees |
TW085114272A TW332272B (en) | 1996-09-27 | 1996-11-20 | Data processor and data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP1996/002819 WO1998013759A1 (fr) | 1996-09-27 | 1996-09-27 | Machine de traitement de donnees et systeme de traitement de donnees |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1998013759A1 true WO1998013759A1 (fr) | 1998-04-02 |
Family
ID=14153908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP1996/002819 WO1998013759A1 (fr) | 1996-09-27 | 1996-09-27 | Machine de traitement de donnees et systeme de traitement de donnees |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP3778573B2 (fr) |
TW (1) | TW332272B (fr) |
WO (1) | WO1998013759A1 (fr) |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298394B1 (en) | 1999-10-01 | 2001-10-02 | Stmicroelectronics, Ltd. | System and method for capturing information on an interconnect in an integrated circuit |
US6349371B1 (en) | 1999-10-01 | 2002-02-19 | Stmicroelectronics Ltd. | Circuit for storing information |
US6351803B2 (en) | 1999-10-01 | 2002-02-26 | Hitachi Ltd. | Mechanism for power efficient processing in a pipeline processor |
US6408381B1 (en) | 1999-10-01 | 2002-06-18 | Hitachi, Ltd. | Mechanism for fast access to control space in a pipeline processor |
US6412047B2 (en) | 1999-10-01 | 2002-06-25 | Stmicroelectronics, Inc. | Coherency protocol |
US6434665B1 (en) | 1999-10-01 | 2002-08-13 | Stmicroelectronics, Inc. | Cache memory store buffer |
US6449712B1 (en) | 1999-10-01 | 2002-09-10 | Hitachi, Ltd. | Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions |
US6457118B1 (en) | 1999-10-01 | 2002-09-24 | Hitachi Ltd | Method and system for selecting and using source operands in computer system instructions |
US6460174B1 (en) | 1999-10-01 | 2002-10-01 | Stmicroelectronics, Ltd. | Methods and models for use in designing an integrated circuit |
US6463553B1 (en) | 1999-10-01 | 2002-10-08 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6487683B1 (en) | 1999-10-01 | 2002-11-26 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6496905B1 (en) | 1999-10-01 | 2002-12-17 | Hitachi, Ltd. | Write buffer with burst capability |
US6502210B1 (en) | 1999-10-01 | 2002-12-31 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6530047B1 (en) | 1999-10-01 | 2003-03-04 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6542983B1 (en) | 1999-10-01 | 2003-04-01 | Hitachi, Ltd. | Microcomputer/floating point processor interface and method |
US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6557119B1 (en) | 1999-10-01 | 2003-04-29 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6567932B2 (en) | 1999-10-01 | 2003-05-20 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US6591369B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics, Ltd. | System and method for communicating with an integrated circuit |
US6590907B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics Ltd. | Integrated circuit with additional ports |
US6598177B1 (en) * | 1999-10-01 | 2003-07-22 | Stmicroelectronics Ltd. | Monitoring error conditions in an integrated circuit |
US6601189B1 (en) | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6615370B1 (en) | 1999-10-01 | 2003-09-02 | Hitachi, Ltd. | Circuit for storing trace information |
US6629115B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method and apparatus for manipulating vectored data |
US6633971B2 (en) | 1999-10-01 | 2003-10-14 | Hitachi, Ltd. | Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline |
US6665816B1 (en) | 1999-10-01 | 2003-12-16 | Stmicroelectronics Limited | Data shift register |
US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
US6693914B1 (en) | 1999-10-01 | 2004-02-17 | Stmicroelectronics, Inc. | Arbitration mechanism for packet transmission |
US6701405B1 (en) | 1999-10-01 | 2004-03-02 | Hitachi, Ltd. | DMA handshake protocol |
WO2004023291A1 (fr) * | 2002-08-30 | 2004-03-18 | Renesas Technology Corp. | Appareil de traitement d'informations |
US6779145B1 (en) | 1999-10-01 | 2004-08-17 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6820195B1 (en) | 1999-10-01 | 2004-11-16 | Hitachi, Ltd. | Aligning load/store data with big/little endian determined rotation distance control |
US6826191B1 (en) | 1999-10-01 | 2004-11-30 | Stmicroelectronics Ltd. | Packets containing transaction attributes |
US6859891B2 (en) | 1999-10-01 | 2005-02-22 | Stmicroelectronics Limited | Apparatus and method for shadowing processor information |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US6928073B2 (en) | 1999-10-01 | 2005-08-09 | Stmicroelectronics Ltd. | Integrated circuit implementing packet transmission |
US7000078B1 (en) | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
US7072817B1 (en) | 1999-10-01 | 2006-07-04 | Stmicroelectronics Ltd. | Method of designing an initiator in an integrated circuit |
US7191313B2 (en) | 2001-08-28 | 2007-03-13 | Sony Corporation | Microprocessor |
US7260745B1 (en) | 1999-10-01 | 2007-08-21 | Stmicroelectronics Ltd. | Detection of information on an interconnect |
US7266728B1 (en) | 1999-10-01 | 2007-09-04 | Stmicroelectronics Ltd. | Circuit for monitoring information on an interconnect |
JP2014501969A (ja) * | 2010-11-18 | 2014-01-23 | 日本テキサス・インスツルメンツ株式会社 | コンテキスト切替え方法及び装置 |
CN102135867B (zh) * | 2010-01-21 | 2014-04-02 | 联阳半导体股份有限公司 | 资料处理模块及其方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4834448A (fr) * | 1971-08-31 | 1973-05-18 | ||
JPS60263238A (ja) * | 1984-06-11 | 1985-12-26 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理装置 |
JPS6314241A (ja) * | 1986-07-04 | 1988-01-21 | Hitachi Ltd | メモリ拡張方式 |
JPH02115958A (ja) * | 1988-10-26 | 1990-04-27 | Hitachi Ltd | データ転送制御方式 |
JPH02183342A (ja) * | 1989-01-10 | 1990-07-17 | Fuji Electric Co Ltd | 割込み制御装置 |
JPH02190936A (ja) * | 1989-01-20 | 1990-07-26 | Nec Corp | バンク切り換え型計算機におけるプログラム実行方式 |
JPH0443434A (ja) * | 1990-06-08 | 1992-02-13 | Mitsubishi Electric Corp | マイクロプロセッサ |
JPH0644089A (ja) * | 1992-05-18 | 1994-02-18 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
JPH0855033A (ja) * | 1994-08-16 | 1996-02-27 | Nec Corp | 情報処理装置 |
JPH0895786A (ja) * | 1994-09-27 | 1996-04-12 | Toshiba Corp | 演算処理装置 |
-
1996
- 1996-09-27 JP JP51547898A patent/JP3778573B2/ja not_active Expired - Fee Related
- 1996-09-27 WO PCT/JP1996/002819 patent/WO1998013759A1/fr active Application Filing
- 1996-11-20 TW TW085114272A patent/TW332272B/zh active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4834448A (fr) * | 1971-08-31 | 1973-05-18 | ||
JPS60263238A (ja) * | 1984-06-11 | 1985-12-26 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理装置 |
JPS6314241A (ja) * | 1986-07-04 | 1988-01-21 | Hitachi Ltd | メモリ拡張方式 |
JPH02115958A (ja) * | 1988-10-26 | 1990-04-27 | Hitachi Ltd | データ転送制御方式 |
JPH02183342A (ja) * | 1989-01-10 | 1990-07-17 | Fuji Electric Co Ltd | 割込み制御装置 |
JPH02190936A (ja) * | 1989-01-20 | 1990-07-26 | Nec Corp | バンク切り換え型計算機におけるプログラム実行方式 |
JPH0443434A (ja) * | 1990-06-08 | 1992-02-13 | Mitsubishi Electric Corp | マイクロプロセッサ |
JPH0644089A (ja) * | 1992-05-18 | 1994-02-18 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
JPH0855033A (ja) * | 1994-08-16 | 1996-02-27 | Nec Corp | 情報処理装置 |
JPH0895786A (ja) * | 1994-09-27 | 1996-04-12 | Toshiba Corp | 演算処理装置 |
Cited By (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6601189B1 (en) | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6351803B2 (en) | 1999-10-01 | 2002-02-26 | Hitachi Ltd. | Mechanism for power efficient processing in a pipeline processor |
US6408381B1 (en) | 1999-10-01 | 2002-06-18 | Hitachi, Ltd. | Mechanism for fast access to control space in a pipeline processor |
US6412047B2 (en) | 1999-10-01 | 2002-06-25 | Stmicroelectronics, Inc. | Coherency protocol |
US6434665B1 (en) | 1999-10-01 | 2002-08-13 | Stmicroelectronics, Inc. | Cache memory store buffer |
US6449712B1 (en) | 1999-10-01 | 2002-09-10 | Hitachi, Ltd. | Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions |
US6457118B1 (en) | 1999-10-01 | 2002-09-24 | Hitachi Ltd | Method and system for selecting and using source operands in computer system instructions |
US6460174B1 (en) | 1999-10-01 | 2002-10-01 | Stmicroelectronics, Ltd. | Methods and models for use in designing an integrated circuit |
US6463553B1 (en) | 1999-10-01 | 2002-10-08 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6487683B1 (en) | 1999-10-01 | 2002-11-26 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6496905B1 (en) | 1999-10-01 | 2002-12-17 | Hitachi, Ltd. | Write buffer with burst capability |
US6502210B1 (en) | 1999-10-01 | 2002-12-31 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6530047B1 (en) | 1999-10-01 | 2003-03-04 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6542983B1 (en) | 1999-10-01 | 2003-04-01 | Hitachi, Ltd. | Microcomputer/floating point processor interface and method |
US6615370B1 (en) | 1999-10-01 | 2003-09-02 | Hitachi, Ltd. | Circuit for storing trace information |
US6557119B1 (en) | 1999-10-01 | 2003-04-29 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6567932B2 (en) | 1999-10-01 | 2003-05-20 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US6591369B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics, Ltd. | System and method for communicating with an integrated circuit |
US6590907B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics Ltd. | Integrated circuit with additional ports |
US6598177B1 (en) * | 1999-10-01 | 2003-07-22 | Stmicroelectronics Ltd. | Monitoring error conditions in an integrated circuit |
US6349371B1 (en) | 1999-10-01 | 2002-02-19 | Stmicroelectronics Ltd. | Circuit for storing information |
US6298394B1 (en) | 1999-10-01 | 2001-10-02 | Stmicroelectronics, Ltd. | System and method for capturing information on an interconnect in an integrated circuit |
US7072817B1 (en) | 1999-10-01 | 2006-07-04 | Stmicroelectronics Ltd. | Method of designing an initiator in an integrated circuit |
US6633971B2 (en) | 1999-10-01 | 2003-10-14 | Hitachi, Ltd. | Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline |
US6665816B1 (en) | 1999-10-01 | 2003-12-16 | Stmicroelectronics Limited | Data shift register |
US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
US6693914B1 (en) | 1999-10-01 | 2004-02-17 | Stmicroelectronics, Inc. | Arbitration mechanism for packet transmission |
US6701405B1 (en) | 1999-10-01 | 2004-03-02 | Hitachi, Ltd. | DMA handshake protocol |
US7346072B2 (en) | 1999-10-01 | 2008-03-18 | Stmicroelectronics Ltd. | Arbitration mechanism for packet transmission |
US6779145B1 (en) | 1999-10-01 | 2004-08-17 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6820195B1 (en) | 1999-10-01 | 2004-11-16 | Hitachi, Ltd. | Aligning load/store data with big/little endian determined rotation distance control |
US6826191B1 (en) | 1999-10-01 | 2004-11-30 | Stmicroelectronics Ltd. | Packets containing transaction attributes |
US6859891B2 (en) | 1999-10-01 | 2005-02-22 | Stmicroelectronics Limited | Apparatus and method for shadowing processor information |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US6928073B2 (en) | 1999-10-01 | 2005-08-09 | Stmicroelectronics Ltd. | Integrated circuit implementing packet transmission |
US7000078B1 (en) | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
US6629115B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method and apparatus for manipulating vectored data |
US7266728B1 (en) | 1999-10-01 | 2007-09-04 | Stmicroelectronics Ltd. | Circuit for monitoring information on an interconnect |
US7228389B2 (en) | 1999-10-01 | 2007-06-05 | Stmicroelectronics, Ltd. | System and method for maintaining cache coherency in a shared memory system |
US7260745B1 (en) | 1999-10-01 | 2007-08-21 | Stmicroelectronics Ltd. | Detection of information on an interconnect |
US7191313B2 (en) | 2001-08-28 | 2007-03-13 | Sony Corporation | Microprocessor |
WO2004023291A1 (fr) * | 2002-08-30 | 2004-03-18 | Renesas Technology Corp. | Appareil de traitement d'informations |
CN102135867B (zh) * | 2010-01-21 | 2014-04-02 | 联阳半导体股份有限公司 | 资料处理模块及其方法 |
JP2014501969A (ja) * | 2010-11-18 | 2014-01-23 | 日本テキサス・インスツルメンツ株式会社 | コンテキスト切替え方法及び装置 |
Also Published As
Publication number | Publication date |
---|---|
TW332272B (en) | 1998-05-21 |
JP3778573B2 (ja) | 2006-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3778573B2 (ja) | データプロセッサ及びデータ処理システム | |
JP2701179B2 (ja) | データ処理システム | |
KR100294475B1 (ko) | 고성능알아이에스씨마이크로프로세서구조 | |
US5142631A (en) | System for queuing individual read or write mask and generating respective composite mask for controlling access to general purpose register | |
JP6143872B2 (ja) | 装置、方法、およびシステム | |
US7020763B2 (en) | Computer processing architecture having a scalable number of processing paths and pipelines | |
US6631439B2 (en) | VLIW computer processing architecture with on-chip dynamic RAM | |
US5293500A (en) | Parallel processing method and apparatus | |
JP3531167B2 (ja) | 命令実行を制御するため命令にタグを割り当てるシステム及び方法 | |
US20120233442A1 (en) | Return address prediction in multithreaded processors | |
KR20040016829A (ko) | 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 | |
US7529917B2 (en) | Method and apparatus for interrupt handling during loop processing in reconfigurable coarse grained array | |
US20030028755A1 (en) | Interprocessor register succession method and device therefor | |
JPH0816870B2 (ja) | 命令パイプラインをドレーンさせるためのシステム | |
US6963962B2 (en) | Memory system for supporting multiple parallel accesses at very high frequencies | |
CN1013067B (zh) | 紧配合的多处理器指令同步 | |
TW201712529A (zh) | 持續確定處理器、方法、系統及指令 | |
KR100431975B1 (ko) | 분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템 | |
US20030196072A1 (en) | Digital signal processor architecture for high computation speed | |
US20110083030A1 (en) | Cache memory control device, cache memory device, processor, and controlling method for storage device | |
CN114625422B (zh) | 根据存储排出合并唤醒存储相关加载的面积和功率高效机制 | |
US6675287B1 (en) | Method and apparatus for store forwarding using a response buffer data path in a write-allocate-configurable microprocessor | |
EP0374598B1 (fr) | Adressage de la mémoire microprogrammable depuis différentes sources | |
KR20080049727A (ko) | 별도의 직렬 모듈을 지닌 프로세서 어레이 | |
US7028164B2 (en) | Instruction fetch apparatus for wide issue processors and method of operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CN JP KR SG US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
122 | Ep: pct application non-entry in european phase |