WO2003012658A1 - Efficient interrupt system for system on chip design - Google Patents
Efficient interrupt system for system on chip design Download PDFInfo
- Publication number
- WO2003012658A1 WO2003012658A1 PCT/IB2002/002801 IB0202801W WO03012658A1 WO 2003012658 A1 WO2003012658 A1 WO 2003012658A1 IB 0202801 W IB0202801 W IB 0202801W WO 03012658 A1 WO03012658 A1 WO 03012658A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- interrupt
- processor
- peripheral devices
- management system
- processors
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
Definitions
- the present invention generally relates to the field of integrated circuits ("chips"). More specifically, the present invention pertains to the management of interrupts in a system-on-a-chip design that includes multiple processors and multiple peripheral devices.
- System-on-a-chip architectures (e.g., a microcontroller or microprocessor) are commonly used in applications including audio, wireless, handheld, data communication, Internet control, and industrial and consumer systems.
- the system-on-a-chip architecture provides design and manufacturing efficiencies both in the production of the chip and in the incorporation of the chip in a particular application.
- system-on-a-chip architectures utilize multiple central processing units (CPUs). Also, system-on-a-chip architectures may utilize multiple buses typically organized in some type of hierarchical arrangement.
- CPUs central processing units
- buses typically organized in some type of hierarchical arrangement.
- interrupt requests may be simultaneously generated by the peripheral devices.
- the interrupt requests need to be individually handled, and each one routed to a CPU.
- Each CPU handling an interrupt request must interrogate each of the peripheral devices to determine which device is the source of the interrupt request.
- Conflicts between interrupt requests must be arbitrated should a CPU receive multiple interrupt requests at the same time.
- the prior art techniques for managing interrupt requests in multiple processor architectures share one or more disadvantages.
- the prior art interrupt management techniques may require complicated and inefficient multi-bus designs.
- the prior art techniques may not permit the processors to communicate with each other regarding the handling of interrupt requests.
- the prior art techniques may assign certain interrupt requests to a particular CPU in hardware; thus, the prior art techniques may be relatively fixed and inflexible.
- the prior art techniques may impose difficult timing and layout constraints on integrated circuit designers; thus, the time needed to design and produce integrated circuits may be increased. Accordingly, what is needed is an interrupt management system and/or method that can accommodate simpler and more efficient multi-bus designs. What is also needed is an interrupt management system and/or method that can satisfy the above need and that can allow inter-processor communication for handling interrupt requests. Also, what is needed is an interrupt management system and/or method that can satisfy the above needs and that is flexible regarding the assignment of interrupt requests to CPUs. Furthermore, what is needed is an interrupt management system and/or method that can satisfy the above needs and that can facilitate integrated circuit design by not placing unnecessarily burdensome timing and layout constraints on designers. The present invention provides a novel solution to these needs.
- the present invention pertains to a method and system for managing interrupt requests ("interrupts") in a system-on-a-chip design that includes multiple central processing units (e.g., processors) coupled to multiple peripheral devices.
- the present invention provides an interrupt management system and method that can accommodate simpler and more efficient multi-bus designs.
- the present invention also provides an interrupt management system and method that can allow inter-processor communication for handling interrupts.
- the present invention provides an interrupt management system and method that are flexible regarding the assignment of interrupts to processors (e.g., central processing units).
- the present invention provides an interrupt management system and method that can facilitate integrated circuit design by not placing unnecessarily burdensome timing and layout constraints on designers.
- a plurality of interconnected interrupt controllers are coupled between the processors and the peripheral devices.
- the interrupt controllers work in concert to pass an interrupt to a particular processor.
- the interrupt controllers also can be used for inter-processor communication when needed; that is, one processor can generate an interrupt that can be communicated to another processor via the interrupt controllers.
- the number of interrupt controllers and the number of processors are equal, and each interrupt controller is paired with a single processor (and vice versa).
- each interrupt controller includes an interrupt priority register (or similar memory unit) which contains a priority ranking of each of the peripheral devices.
- This information is specific to each of the interrupt controllers, and can be used by the interrupt controller to determine whether the interrupt will be passed to its paired processor. This information can also be used by the interrupt controller to arbitrate between interrupts when more than one interrupt is received concurrently at the interrupt controller.
- Each interrupt generated by a peripheral device is received by all of the interrupt controllers.
- the interrupt controllers each identify whether the interrupt is to be passed to its paired processor. In this manner, the interrupt controllers work in concert to pass the interrupt to a particular processor.
- each interrupt controller includes an interrupt priority limiter register (or similar memory unit) that is set to the value of the priority of the interrupt currently being handled.
- each interrupt controller includes an interrupt source register (or similar memory unit) which identifies the pending interrupt with the highest priority and whose priority is greater than the value in the interrupt priority limiter register. That is, the interrupt source register identifies the interrupt that should be handled next. Upon handling this interrupt, the processor performs a single read access of this register to identify the peripheral device that generated the interrupt.
- the present invention method and system for managing interrupts is scalable. Adding peripherals is straight-forward and can be controlled by changes to the Register Transfer Language descriptions of the interrupt controllers.
- the present invention can also be extended to include any number of processors. In addition, any number of on-chip buses is allowed.
- the interrupt controllers can be programmed in software to map interrupts to any of the processors. Nested interrupts (e.g., interrupts occur simultaneously or near simultaneously) are readily handled in accordance with the present invention. The efficiency of interrupt handling is improved because, for example, a processor need perform only a single read access to identify the peripheral device that is the source of the interrupt.
- Figure 1 is a block diagram providing an overview of an interrupt management system according to one embodiment of the present invention.
- FIG. 2 is a block diagram of one embodiment of an interrupt controller in accordance with the present invention.
- Figure 3 is a block diagram providing additional details of the interconnects between blocks in the interrupt management system of Figure 1.
- Figure 4 is a flow chart of the steps in a process for managing interrupts in accordance with one embodiment of the present invention.
- Figure 5A is a data flow diagram showing inter-processor communication via interrupt controllers in accordance with one embodiment of the present invention.
- Figure 5B is a timing diagram for inter-processor communication such as that illustrated in Figure 5A.
- these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as transactions, bits, values, elements, symbols, characters, fragments, pixels, or the like.
- FIG. 1 is a block diagram providing an overview of an interrupt management system 10 according to one embodiment of the present invention.
- the interrupt management system 10 includes a number of processors (CPUs) lOOa-n, a number of interrupt controllers 1 lOa-n, and a number of peripherals 120a-m.
- processors CPUs
- interrupt controllers 1 lOa-n a number of interrupt controllers 1 lOa-n
- peripherals 120a-m when one of the peripherals 120a-m generates an interrupt request ("interrupt"), the interrupt controllers 110a- n work in concert to direct the interrupt to a single one of the CPUs lOOa-n; additional details are provided below.
- interrupt management system 10 of the present invention is scaleable and can accommodate any number of processors, interrupt controllers and peripheral devices.
- the interrupt controllers HOa-n are interconnected and can communicate with each other; refer also to Figure 3, below.
- the CPUs lOOa-n and the interrupt controllers HOa-n reside in an integrated circuit (e.g., they are representative of a system-on- a-chip architecture).
- the CPUs lOOa-n and one or more of the interrupt controllers 1 lOa-n may instead reside outside of the integrated circuit.
- some or all of the peripherals 120a-m may reside in the integrated circuit.
- the number of interrupt controllers and the number of processors are equal and, at least with regard to interrupts, communication to a CPU occurs through an interrupt controller.
- each interrupt controller llOa-n is paired with a single CPU lOOa-n, and vice versa. That is, CPU 100a is paired with interrupt controller 110a, CPU 100b is paired with interrupt controller 110b, and so on.
- the interrupt controllers llOa-n communicate directly to their respective CPU lOOa-n, and to another CPU via the interrupt controller paired with that CPU. That is, for example, interrupt controller 110a communicates directly to CPU 100a, and interrupt controller 110a communicates to CPUs lOOb-n through the other interrupt controllers llOb-n.
- the interrupt controllers 1 lOa-n are not conduits for passing data to CPUs 100a- n, but are primarily for controlling the flow and distribution of interrupts to the CPUs lOOa-n.
- each CPU lOOa-n is able to communicate to each of the peripherals 120a-m via an on-chip bus 130.
- the CPUs lOOa-n are coupled to a register access bus 135 that allows the CPUs to read and write to interrupt controller registers (see Figure 2, below).
- an interrupt generated by any of the peripherals 120a-m is routed to all of the interrupt controllers llOa-n.
- interrupts may be selectively routed to a subset of the interrupt controllers 1 lOa-n instead of to all of the interrupt controllers.
- Each interrupt controller 1 lOa-n is programmed to recognize those interrupts that should and should not be passed to its respective (paired) CPU.
- the interrupt controllers 1 lOa-n are programmed so that each peripheral 120a-m is accounted for. According to this programming, each interrupt controller llOa-n determines whether the interrupts it receives should be passed to the CPU it is paired with. For example, interrupt controller 110a determines whether or not an interrupt should be passed to CPU 100a and, if so, the interrupt is passed to CPU 100a; otherwise, it is not.
- FIG. 2 is a block diagram of one embodiment of an interrupt controller 110a in accordance with the present invention.
- interrupt controller 110a is a hardware element comprising an interrupt source register 210, an interrupt priority register 220, a compare logic block 225, an interrupt priority limiter 230, an AND gate 240, and an OR gate 250.
- interrupt controller 110a is not limited to the described embodiment, and that interrupt controller 110a may be alternatively configured to accomplish the intended function.
- interrupt priority register 220 is a dynamic and configurable register that includes a priority that has been assigned to each one of the peripherals 120a-m ( Figure 1).
- each interrupt controller 1 lOa-n ( Figure 1) can be programmed with a priority ranking for all of the peripherals 120a- m.
- the information in interrupt priority register 220 is specific to the interrupt controller 1 lOa-n. That is, the priority ranking of the peripherals 120a-m is different for each of the interrupt controllers 11 Oa-n.
- each interrupt controller 110a is programmed with a unique priority ranking of the peripherals 120a-m.
- the priority ranking used by a particular interrupt controller 11 Oa-n, as well as the priority ranking assigned to each of the peripherals 120a-m, can be dynamically changed.
- the peripherals 120a-m can be assigned (mapped) to any of the CPUs lOOa-n, and the mapping can be changed so that a peripheral assigned to one interrupt controller (and CPU) can be assigned to a different CPU.
- the interrupt management system and method of the present invention can be readily updated and, as such, is scaleable to any number of peripherals. Because the mapping of peripheral devices to CPUs is provided in software and thus can be readily changed or expanded, the present invention provides a flexible as well as scaleable system and method for managing interrupts.
- some peripherals will have a priority ranking in interrupt priority register 220 that indicates that their interrupts are not to be passed by interrupt controller 110a to CPU 100a.
- these peripherals may have a priority ranking of zero, or the bit (or bits) in interrupt priority register 220 that define the priority ranking may be disabled for these peripherals.
- the priority ranking in interrupt priority register 220 is used to define which peripherals are assigned to interrupt controller 110a and consequently to CPU 100a.
- interrupt priority register 220 indicating their interrupts are to be passed by interrupt controller 110a to CPU 100a.
- Each such peripheral can be assigned a different priority to indicate that interrupts from some peripherals take precedence over interrupts from other peripherals.
- interrupt controller 110a can automatically arbitrate between the interrupts to select and handle the interrupt with the highest priority.
- interrupt priority limiter 230 is a dynamic and configurable register that is set to the value of the priority of the interrupt 270 that is currently being handled by interrupt controller 110a by software. This is done so that interrupt priority limiter 230 specifies a threshold value based on the interrupt 270 currently being handled by interrupt controller 110a.
- nested interrupts can be handled as follows.
- compare logic block 225 compares the priority ranking of the subsequent (later) interrupt to the priority ranking of the interrupt 270 currently being handled.
- compare block 225 provides a signal to AND gate 240 based on this comparison. If the later interrupt has a higher priority than the threshold value specified by interrupt priority limiter 230, then an enable signal (e.g., an active "1") is passed to AND gate 240, the later interrupt is passed to CPU 100a, and the interrupt priority limiter 230 is updated with the new threshold value by software.
- an enable signal e.g., an active "1”
- the AND gate 240 will not pass the later interrupt to CPU 100a. In this manner, nested interrupts are readily handled in accordance with the present invention.
- the interrupt with the highest priority, rather than the interrupt that arrives first is handled by CPU 100a.
- the process of determining the priority of an interrupt and comparing that priority to the threshold value is instantiated once for each interrupt 260 received by the interrupt controller 110a.
- OR gate 250 functions to provide only a single interrupt to CPU 100a. Some CPU designs permit them to have more than one interrupt input, while other CPU designs permit only a single interrupt input.
- interrupt source register 210 includes information that identifies which of the peripherals 120a-m ( Figure 1) generated the interrupt that should be handled next by CPU 100a.
- Interrupt source register 210 identifies the pending interrupt with the highest priority and whose priority is greater than the value in the interrupt priority limiter register 220.
- the interrupt source register 210 identifies the interrupt that should be handled next. Accordingly, CPU 100a reads interrupt source register 210 to determine which peripheral 120a-m should be handled next.
- CPU 100a instead of accessing each peripheral 120a-m to determine which one of them generated this interrupt, CPU 100a needs to perform only a single access of interrupt source register 210 to make this determination, thereby improving the efficiency of the interrupt handling process. Using on- chip bus 130 ( Figure 1), CPU 100a can then access the peripheral that generated the interrupt.
- interrupt controllers llOa-n generally comprise only combinatorial logic between their interrupt inputs and their interrupt outputs. This allows the interrupts to be passed to the respective CPU lOOa-n without a clock in the interrupt controller.
- interrupts can be handled asynchronously, and so the handling of interrupts is not critical to establishing the timing or layout of the integrated circuit, facilitating the design of such circuits.
- Figure 3 is a block diagram providing additional details of the interconnects between blocks in the interrupt management system 10 of Figure 1. Specifically, Figure 3 shows buses allowing interrupt controllers 1 lOa-n, and hence CPUs lOOa-n, to communicate with each other according to one embodiment of the present invention. It is appreciated that other bus configurations including different numbers and types of buses can be utilized in accordance with the present invention.
- on-chip bus 130 allows each CPU lOOa-n to communicate to the peripherals 120a-m.
- the CPUs lOOa-n are each coupled to a register access bus 135.
- Register access bus 135 allows each CPU to access the interrupt source register 210 of Figure 2, to determine in a single read access which of the peripherals 120a-m generated that should be next handled by the CPU.
- interrupt request bus 330 provides a communication path for sending interrupts from one interrupt controller to another and hence from one CPU to another. Thus, each CPU can request assistance from another CPU when necessary.
- Interrupt request bus 330 also provides the communication path for sending interrupts from the peripherals 120a-m to the interrupt controllers 1 lOa-n.
- the interrupt clear bus 320 is for clearing an interrupt after it has been handled (executed).
- an interrupt controller receives an interrupt request from a CPU
- that interrupt request is handled is the same fashion as an interrupt request received from a peripheral device. That is, a priority is associated with the interrupt request from the CPU and the interrupt controller handles the interrupt request according to that priority.
- the priority can be based on the CPU that generated the interrupt or on the peripheral device that generated the interrupt that prompted the CPU to in turn generate an interrupt.
- the interrupt request can be passed from one interrupt controller to a next interrupt controller until an interrupt controller (and a respective CPU) is found that can handle the interrupt.
- the protocol for inter-processor communication is described further in conjunction with Figures 5 A and 5B, below.
- Figure 4 is a flow chart of the steps in one embodiment of a process 400 for managing interrupts in accordance with the present invention.
- process 400 is implemented by the interrupt controllers llOa-n of Figure 1. It is appreciated that the steps in process 400 may be performed in an order different that presented, and that not all of the steps in process 400 may be performed.
- each interrupt controller 1 lOa-n receives information sufficient for identifying which interrupts are to be passed to a CPU lOOa-n associated with each interrupt controller.
- each interrupt controller 11 Oa-n is programmed with a priority ranking of the peripherals 120a-m. The priority ranking is unique to each interrupt controller llOa-n and is used to identify, for each interrupt controller and CPU pair, the peripheral device(s) whose interrupts will be passed by the interrupt controller to the CPU.
- the priority ranking is stored in the interrupt priority register 220 of each interrupt controller 220.
- the priority ranking stored in interrupt priority register 220 can be dynamically changed should additional peripheral devices be coupled to the CPUs lOOa-n, for example, or should it be desirable to change the mapping of peripherals 120a-m to CPUs lOOa-n.
- an interrupt 260 is received by all of the interrupt controllers 1 lOa-n.
- the interrupt generated by the peripherals 120a-m is assumed to be glitch- free.
- each of the interrupt controllers 1 lOa-n ( Figure 1) determines whether the interrupt should be passed to its respective (paired) CPU. If the interrupt is enabled (that is, the interrupt has a priority other than zero), and if the interrupt has a priority greater than the threshold value specified in the interrupt priority limiter 230 of Figure 3, then the interrupt controller passes the interrupt to the respective CPU.
- step 440 of Figure 4 in the present embodiment, information identifying the peripheral that generated the interrupt that should be handled next by the CPU is stored in the interrupt source register 210 of Figure 3.
- the CPU (specifically, the interrupt handler of the CPU) can read the interrupt source register 210. Based on the interrupt source, the CPU can read the interrupt status from the peripheral that generated the interrupt. The status information provides the CPU with sufficient information to handle the interrupt. Following execution of the interrupt, the CPU clears the interrupt in the peripheral, which results in the interrupt being de-asserted to the interrupt controller as well as the CPU.
- step 450 of Figure 4 should a CPU be busy and require assistance from another CPU, an interrupt can be generated by the first CPU and passed to the second CPU via their respective interrupt controllers. This is described further in conjunction with Figures 5A and 5B.
- FIG. 5A is a data flow diagram showing inter-processor communication via interrupt controllers PIC1 (501) and PIC2 (502) in accordance with one embodiment of the present invention.
- inter-processor communication is described in the context of two processors; however, inter-processor communication can be extended to any number of processors.
- a plurality of signals 510 are passed between PIC1 (501) and PIC2 (502) to enable inter-processor communication.
- the signals 510 include interrupt request signals (e.g., Int_req[p-0] and Int_req[r-0]) and interrupt clear signals (e.g., Int_clr[p- 0] and l t_clr[r-0]).
- Inter-processor communication via the interrupt controllers is performed asynchronously.
- FIG 5B is a timing diagram for inter-processor communication (IP C) such as that illustrated in Figure 5A.
- CPU1 505 writes to PIC1 (501) to set Int_reql (510a) to initiate the request for inter-processor communication.
- PIC2 502 to assert Int_to_cpu2 (504) (if the interrupt priority is higher than the threshold value in the interrupt priority limiter 230 of Figure 2).
- PIC2 treats the interrupts for inter-processor communication in the same manner as the interrupts generated by peripherals 120a-m ( Figure 1).
- CPU2 reads the interrupt source register 210 ( Figure 2) for PIC2 (502) and executes the interrupt handler. After the interrupt handler is finished executing, the interrupt is cleared by CPU2 (506) writing to PIC2 (502). Following this write, Int_clrl (510b) is asserted, Int_to_cpu2 (504) is de-asserted, and Int_reql (510a) is de-asserted. PICl (501) is then ready to receive another write from CPU1 (505) to again set Int_reql (510a). However, writes to assert Int_reql (510a) cannot be completed while Int_clrl (510b) is asserted. This is necessary in order to ensure that the clear of the previous interrupt is complete.
- Inter-processor communication in accordance with the present invention provides a number of advantages. First, it is safe and efficient.
- the CPU asserting the interrupt e.g., CPU1 505) needs to perform only one write to its respective interrupt controller (e.g., PICl 501).
- the CPU that is interrupted e.g., CPU2 506) reads the interrupt source register to determine the interrupt source and clears the interrupt when the handling is complete.
- CPU2 506 accomplishes this by reading and writing to PIC2 (502).
- PIC2 502
- inter-processor communication is asynchronous, it is not critical to establishing the timing or layout of the integrated circuit, facilitating the design of such circuits.
- interrupts for inter-processor communication are treated the same as the interrupts generated by the peripherals 120a-m ( Figure 2), inter- processor communication can be readily handled in software, and in particular it can be handled with the software used to manage peripherals 120a-m.
- the present invention provides an interrupt management system and method that can accommodate simpler and more efficient multi-bus designs.
- the present invention also provides an interrupt management system and method that can allow inter- processor communication.
- the present invention provides an interrupt management system and method that are flexible regarding the assignment of interrupts to processors (e.g., central processing units).
- the present invention provides an interrupt management system and method that can be designed and produced in a shorter period of time without placing burdensome timing and layout constraints on designers.
- the preferred embodiment of the present invention an efficient interrupt system for system-on-a-chip design, is thus described. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the following claims.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02745724A EP1415233A1 (en) | 2001-07-30 | 2002-07-02 | Efficient interrupt system for system on chip design |
JP2003517765A JP2004537809A (en) | 2001-07-30 | 2002-07-02 | Efficient interrupt system for system-on-chip design |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US91860301A | 2001-07-30 | 2001-07-30 | |
US09/918,603 | 2001-07-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003012658A1 true WO2003012658A1 (en) | 2003-02-13 |
Family
ID=25440649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2002/002801 WO2003012658A1 (en) | 2001-07-30 | 2002-07-02 | Efficient interrupt system for system on chip design |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1415233A1 (en) |
JP (1) | JP2004537809A (en) |
CN (1) | CN1535427A (en) |
WO (1) | WO2003012658A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014125324A1 (en) * | 2013-02-12 | 2014-08-21 | Freescale Semiconductor, Inc. | A method of and circuitry for controlling access by a master to a peripheral, a method of configuring such circuitry, and associated computer program products |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1333344C (en) * | 2005-08-18 | 2007-08-22 | 上海交通大学 | Method for reducing software load of system-on-chip (SoC) |
KR20110097447A (en) * | 2010-02-25 | 2011-08-31 | 삼성전자주식회사 | System-on-Chip with Interrupt Proxy Function and Interrupt Proxy Processing Method |
CN101980149B (en) * | 2010-10-15 | 2013-09-18 | 无锡中星微电子有限公司 | Main processor and coprocessor communication system and communication method |
CN103019835A (en) * | 2011-09-26 | 2013-04-03 | 同方股份有限公司 | System and method for optimizing interruption resources in multi-core processor |
CN102945214B (en) * | 2012-10-19 | 2016-02-10 | 北京忆恒创源科技有限公司 | Based on the method for IO distribution optimization time delay interrupt processing task |
CN104503836B (en) * | 2015-01-08 | 2018-01-30 | 辽宁科技大学 | Polycaryon processor process scheduling system and polycaryon processor process scheduling method |
CN106020961A (en) * | 2016-05-30 | 2016-10-12 | 天津国芯科技有限公司 | Cross triggering device capable of improving system efficiency |
CN112363972B (en) * | 2020-10-20 | 2022-09-23 | 青岛信芯微电子科技股份有限公司 | Electronic device and method for supporting communication among multiple CPUs |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590380A (en) * | 1992-04-22 | 1996-12-31 | Kabushiki Kaisha Toshiba | Multiprocessor system with processor arbitration and priority level setting by the selected processor |
US5613128A (en) * | 1990-12-21 | 1997-03-18 | Intel Corporation | Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller |
-
2002
- 2002-07-02 WO PCT/IB2002/002801 patent/WO2003012658A1/en not_active Application Discontinuation
- 2002-07-02 EP EP02745724A patent/EP1415233A1/en not_active Withdrawn
- 2002-07-02 CN CNA028148894A patent/CN1535427A/en active Pending
- 2002-07-02 JP JP2003517765A patent/JP2004537809A/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613128A (en) * | 1990-12-21 | 1997-03-18 | Intel Corporation | Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller |
US5590380A (en) * | 1992-04-22 | 1996-12-31 | Kabushiki Kaisha Toshiba | Multiprocessor system with processor arbitration and priority level setting by the selected processor |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014125324A1 (en) * | 2013-02-12 | 2014-08-21 | Freescale Semiconductor, Inc. | A method of and circuitry for controlling access by a master to a peripheral, a method of configuring such circuitry, and associated computer program products |
US9946669B2 (en) | 2013-02-12 | 2018-04-17 | Nxp Usa, Inc. | Method of and circuitry for controlling access by a master to a peripheral, a method of configuring such circuitry, and associated computer program products |
Also Published As
Publication number | Publication date |
---|---|
EP1415233A1 (en) | 2004-05-06 |
JP2004537809A (en) | 2004-12-16 |
CN1535427A (en) | 2004-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10241946B2 (en) | Multi-channel DMA system with command queue structure supporting three DMA modes | |
US6330647B1 (en) | Memory bandwidth allocation based on access count priority scheme | |
US6769046B2 (en) | System-resource router | |
US6775727B2 (en) | System and method for controlling bus arbitration during cache memory burst cycles | |
JP5237351B2 (en) | Switch matrix system with multiple bus arbitrations per cycle via higher frequency arbiters | |
US6662253B1 (en) | Shared peripheral architecture | |
US20020166018A1 (en) | Multiprocessor interrupt handling system and method | |
US20050091434A1 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format | |
JP4562107B2 (en) | Direct memory access engine to support multiple virtual direct memory access channels | |
US7926061B2 (en) | iMEM ASCII index registers | |
JP4226085B2 (en) | Microprocessor and multiprocessor system | |
US6892266B2 (en) | Multicore DSP device having coupled subsystem memory buses for global DMA access | |
WO2022247198A1 (en) | Interrupt distributor, data processing chip, interrupt distribution method and data processing method | |
US7856632B2 (en) | iMEM ASCII architecture for executing system operators and processing data operators | |
WO2003012658A1 (en) | Efficient interrupt system for system on chip design | |
US6996656B2 (en) | System and method for providing an arbitrated memory bus in a hybrid computing system | |
US20090019207A1 (en) | Dual bus matrix architecture for micro-controllers | |
EP1207457A1 (en) | External bus arbitration technique for multicore DSP device | |
US7765250B2 (en) | Data processor with internal memory structure for processing stream data | |
US7823159B2 (en) | Intelligent memory device clock distribution architecture | |
US8966149B2 (en) | Emulation of an input/output advanced programmable interrupt controller | |
JPH0954748A (en) | Computer system and dma controller used for the system | |
JPH02244252A (en) | One-chip multiprocessor containing bus arbiter and comparator | |
US20230133088A1 (en) | Methods and apparatus for system-on-a-chip neural network processing applications | |
JP4214521B2 (en) | Information processing system and multiprocessor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CN JP Kind code of ref document: A1 Designated state(s): CN |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB IE IT LU MC NL PT SE TR Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2002745724 Country of ref document: EP |
|
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: 2003517765 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20028148894 Country of ref document: CN |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2002745724 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2002745724 Country of ref document: EP |