CN111656338A - 处理器间通信 - Google Patents
处理器间通信 Download PDFInfo
- Publication number
- CN111656338A CN111656338A CN201980010772.4A CN201980010772A CN111656338A CN 111656338 A CN111656338 A CN 111656338A CN 201980010772 A CN201980010772 A CN 201980010772A CN 111656338 A CN111656338 A CN 111656338A
- Authority
- CN
- China
- Prior art keywords
- bridge unit
- power
- processor
- signal
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006854 communication Effects 0.000 title description 58
- 238000004891 communication Methods 0.000 title description 58
- 230000002093 peripheral effect Effects 0.000 claims abstract description 80
- 239000004065 semiconductor Substances 0.000 claims abstract description 3
- 230000004044 response Effects 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 5
- 239000000758 substrate Substances 0.000 claims description 3
- 230000009471 action Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100236764 Caenorhabditis elegans mcu-1 gene Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 229920005994 diacetyl cellulose Polymers 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- 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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Bus Control (AREA)
- Microcomputers (AREA)
Abstract
半导体集成电路器件(1;201)包括两个处理子系统(10、40;210、240),每个子系统包括各自的处理器(14、44;214;244)、一组本地外围设备(16、46;216;246)、和桥单元(22、52;222、252),它们都连接到各自的本地总线(12、42;212、242)。电互连(70;270)连接各个桥单元。第一桥单元(22;222)包括可通过第一本地总线(12)访问的任务寄存器(24a),并且可被配置为检测对任务寄存器(24a)的写入,并通过在互连(70;270)上发送事件信号到第二桥单元(52;252)进行响应。第二桥单元(52;252)可以被配置为接收事件信号,并通过向第二处理器(44;244)发送中断信号进行响应。
Description
本发明涉及具有多个处理单元的集成电路器件上的处理器间通信。
已知,诸如片上系统(SoC)器件之类的集成电路器件包含多个单独的处理单元或微控制器,每个具有其自己的处理器、本地总线和外围设备。已知在两个本地总线之间提供桥接。例如,来自ARMTM的同步或异步AHB-AHB桥提供了两个ARMTM高级高性能总线(AHB)域之间的单向链接。
AtmelTM的SAM4C系列器件包含两个子系统,每个子系统都有各自的ARMTM Cortex-M4处理器。每个子系统具有相应的ARMTM高级外围总线(APB)、相应的ARMTM AHB和连接到相应APB的相应处理器间通信(IPC)模块。总线之间的桥提供了一条路径,该路径使一个子系统的处理器能够通过写入第二个子系统的IPC模块的“中断集”寄存器来中断第二个子系统的处理器,反之亦然。
但是,并不总是希望在单个器件上的不同处理单元的总线之间提供桥接。例如,它可以通过允许一个处理单元无限制地访问另一处理单元的内存映射而引起安全问题。这可能允许一个处理单元上的恶意软件或故障软件干扰另一处理单元的正常操作。即使器件确实在各个总线之间具有桥接,也可仍然期望提供允许处理器间通信的替代机制。例如,这对于避免使用桥时可能的时序问题可能有用。
因此,本发明寻求提供一种用于处理器间通信的新颖机制。
从第一方面,本发明提供了一种集成电路器件,其包括:
第一处理子系统,其包括:
第一本地总线;
连接到第一本地总线的第一处理器;
连接到第一本地总线的第一组一个或多个本地外围设备;和
连接到第一本地总线的第一桥单元;
第二处理子系统,其包括:
第二本地总线;
连接到第二本地总线的第二处理器;
连接到第二本地总线的第二组一个或多个本地外围设备;和
连接到第二本地总线的第二桥单元;和
第一桥单元和第二桥单元之间的电互连,
其中:
第一处理子系统、第二处理子系统和电互连集成在公共的半导体基板上;
第一桥单元包括任务寄存器,该任务寄存器可通过第一本地总线访问;
第一桥单元被配置为或可配置为:
检测对任务寄存器的写入;和
通过在电互连上向第二桥单元发送事件信号来响应所述写入,并且
第二桥单元被配置为或可配置为:
从第一桥单元接收所述事件信号;和
响应于接收到所述事件信号,向第二处理器发送中断信号。
从第二方面,本发明提供一种操作集成电路器件的方法,所述集成电路器件包括:
第一处理子系统,其包括:
第一本地总线;
连接到第一本地总线的第一处理器;
连接到第一本地总线的第一组一个或多个本地外围设备;和
第一桥单元,其连接到第一本地总线并且包括任务寄存器,该任务寄存器可通过第一本地总线访问;
第二处理子系统,其包括:
第二本地总线;
连接到第二本地总线的第二处理器;
连接到第二本地总线的第二组一个或多个本地外围设备;和
连接到第二本地总线的第二桥单元;和
第一桥单元和第二桥单元之间的电互连,
其中,所述方法包括:
第一处理器或第一组本地外围设备中的一个或多个写入到第一桥单元的任务寄存器;
第一桥单元检测对任务寄存器的写入,并通过电互连向第二桥单元发送事件信号进行响应;
第二桥单元从第一桥单元接收所述事件信号,并通过向第二处理器发送中断信号进行响应。
因此,本领域技术人员将看到,根据本发明,两个桥单元之间的互连使得第一子系统上的处理器或外围设备能够通过写入第一子系统上的任务寄存器来中断第二子系统的处理器。这种布置不需要在第一和第二本地总线之间建立桥接(尽管不排除这种可能性)。
集成电路器件可以是任何器件,例如片上系统器件或片上无线电器件。它可以集成在硅基板上。它可以包括用于连接到一个或多个外部电路组件例如电源、晶体振荡器、电容器、天线、显示屏、传感器等的连接。
本地外围设备可以包括任何外围设备,例如计时器、ADC、DAC、数据接口等。
任务寄存器可以是一位寄存器。它可以由第一处理器寻址。它可以由第一组外围设备中的一个或多个寻址。第一组外围设备中的一个或多个可配置为直接或间接(例如,使用直接内存访问(DMA))写入任务寄存器。第一组的一个或多个外围设备可能能够成为第一条本地总线的总线主控。该器件可以使得任务寄存器不能通过第二本地总线访问(例如寻址);这可以增强安全性。然而,在其他实施例中,其可以是可寻址的,例如,如果在第一本地总线和第二本地总线之间存在桥接。
第一桥单元可以被配置为检测第一处理器和/或第一组本地外围设备中的一个或多个对任务寄存器的写入。
在第一桥单元可配置为检测对任务寄存器的写入和/或通过在电互连上发送事件信号来响应该写入的实施例中,第一桥单元可包括用于启用和禁用该行为或这些行为的输入-所述行为即控制第一桥单元是否通过检测对任务寄存器的写入和/或在电互连上发送事件信号来响应该写入。所述输入可以是寄存器接口。它可以包括一个或多个一位寄存器,其可以通过第一本地总线访问。寄存器接口中的一个或多个值可以确定是否启用或禁用检测和/或响应。第一处理器(或潜在地本地外围设备)由此可能够启用和禁用所述响应。
在其中第二桥单元可配置为从第一桥单元接收事件信号和/或响应于接收到所述事件信号而将中断信号发送到第二处理器的实施例中,第二桥单元可以包括用于控制第二桥单元是否接收事件信号和/或作为响应发送中断信号的输入。所述输入可以是寄存器接口。它可以包括一个或多个一位寄存器,其可以通过第二本地总线访问。寄存器接口中的一个或多个值可以确定是否启用或禁用检测和/或响应。第二处理器(或潜在地本地外围设备)由此可能够启用和禁用所述响应。
第二处理器可以被配置为响应于从第二桥单元接收到中断信号而从睡眠状态唤醒。即使第二处理器基本上或完全断电,这也可以允许第一处理器唤醒第二处理器。
在一些实施例中,第一处理子系统可以在第一电源域中,而第二处理子系统可以在第二电源域中。第一电源域和第二电源域可以是更高级别(例如,顶级)电源域的辅助电源域。除了第一和第二电源域之外,更高级别的电源域还可以包括其他辅助电源域。
当电源域的处理器继续处于睡眠状态(例如,时钟门控)时,电源域可能会上电。此外,单个处理子系统可能具有多个电源域。例如,子系统的处理器可与其桥单元处于不同的电源域中。
更高级别的电源域可以包括电源状态模块,该电源状态模块配置为监视每个辅助电源域的开机状态。只要辅助电源域的一个或多个保持打开状态,电源状态模块就可以使用每个辅助电源域的电源打开状态来使较高级别的电源域保持打开。
上电的电源域中的桥单元可以在发送事件信号之前,将上电请求信号发送到电源状态模块。在发送事件信号之前,可以这样做以确保目标桥单元已上电。电源状态模块可以监视来自相应辅助电源域中任何桥单元的事件信号或上电请求信号。如果检测到事件信号或上电请求信号,则电源状态模块可以打开一个、一些或所有其他辅助电源域。例如,这可以通过电源状态模块为每个此类电源域打开电源开关来完成。
由电源状态模块打开的电源域的桥单元可以各自向电源状态模块发送上电报告信号。来自每个桥单元的上电报告信号可以通知电源状态模块相应的电源域现在打开。在接收到上电报告信号时,电源状态模块可以将就绪信号发送到桥单元,该桥单元将上电请求信号发送到电源状态模块,并且可选地还发送到一些或所有其他桥单元。
在接收到就绪信号之后,发送了上电请求信号的桥单元可以通过电互连向处理器处于睡眠状态的处理子系统的桥单元发送唤醒事件信号;后一桥单元然后可以向其处理器发送中断,并且;处理器可从睡眠状态中唤醒。
例如,可以在关闭第二电源域的同时打开第一电源域。第一桥单元可以通过电互连将上电请求信号发送到电源状态模块。电源状态模块可以接收上电请求信号,并且可以打开包括第二电源域在内的一些或所有电源域的电源开关。然后第二电源域可以被上电。然后,第二电源域的桥单元可以将上电报告信号发送到电源状态模块。然后,电源状态模块可以将就绪信号发送到第一桥单元。然后,第一桥单元可以通过电互连向第二桥单元发送唤醒事件信号。然后,第二桥单元可以通过电互连从第一桥单元接收唤醒事件信号,并且第二桥单元可以通过向第二处理器发送唤醒中断信号而做出响应。然后,第二处理器唤醒并执行操作。
通常,第二处理器可以被配置为响应于接收到中断信号而执行中断例程。
器件可以包括共享存储器。第一处理子系统和第二处理子系统都可以被配置为访问共享存储器。
器件可以包括代码存储器。代码存储器可以存储第一软件指令,该第一软件指令在由第一处理器执行时使第一处理器将数据写入共享存储器。代码存储器可以附加地或替代地存储第二软件指令,该第二软件指令在由第二处理器执行时,使第二处理器响应于第二处理器接收到中断信号而从共享存储器中读取数据。代码存储器可以由第一子系统和第二子系统访问,或者它可以包括可由第一子系统访问的第一代码存储区域和可由第二子系统访问的第二代码存储区域。第一代码存储区域可以是第二子系统无法访问的。第二代码存储区域可以是第一子系统无法访问的。
第一软件指令可包括这样的指令,所述指令在由所述第一处理器执行时使所述第一处理器配置所述第一桥单元以检测对所述任务寄存器的写入并通过在所述电互连上向所述第二桥单元发送事件信号而对所述写入做出响应。
第二软件指令可以包括当由第二处理器执行时使第二处理器配置第二桥单元以从第一桥单元接收事件信号并且响应于接收到第二信号而向第二处理器发送中断信号的指令。
当第一处理器处于睡眠状态(例如,使用DMA)时,任务寄存器可由第一组本地外围设备中的一个或多个写入。
第一桥单元可以包括除任务寄存器之外的接口,用于接收任务信号。第一桥单元可以被配置为或者可以被配置为通过在电互连上向第二桥单元发送事件信号来响应这样的任务信号。接口可以包括连接到第一组外围设备中的一个或多个的一条或多条线(例如,用于携带一位信号的电线)。以这种方式,即使外围设备不能写入任务寄存器,第一子系统上的外围设备也可以能够通过向第一桥单元发送任务信号来使第一桥单元发送事件信号。当第一处理器处于睡眠状态时,这是可能的。
第二桥单元还可以包括第二任务寄存器。第二桥单元可以被配置为或可配置为:
检测对第二任务寄存器的写入;和
通过在电互连上向第一桥单元发送事件信号来响应写入。
第一桥单元可以被配置为或可配置为:
从第二桥单元接收事件信号;和
响应于接收到所述事件信号,向第一处理器发送中断信号。
这样,第一处理器和第二处理器之间的双向通信通过电互连是可能的。
电互连可以包括多个通信通道。第一通信通道可以用于从第一桥单元向第二桥单元发送事件信号。第二通信通道可以用于将事件信号从第二桥单元发送到第一桥单元。
第一桥单元可以包括多个任务寄存器,并且可以为每个任务寄存器配置为或可配置为:
检测对任务寄存器的写入;和
通过在电互连上向第二桥单元发送事件信号来响应写入。
第一桥单元可以包括配置接口,该配置接口用于确定事件信号在电互连中的多个通信通道中的哪个或多个中发送。第一处理器可以能够控制配置接口,该配置接口可以例如是寄存器接口。
这可以使器件能够被配置为根据写入多个任务寄存器中的哪个任务寄存器来支持多个不同的动作。
中断信号可以通过中断线发送。中断信号可以是电平触发的中断、边沿触发的中断或消息触发的中断。
第二桥单元可以被配置为或可配置为:
通过电互连从第一桥单元接收事件信号,其中电互连包括多个通信通道;和
响应于接收到事件信号,通过多条中断线中的中断线向第二处理器发送中断信号,其中第二桥单元根据第二条桥单元通过哪个通信通道接收事件信号确定通过哪条中断线发送中断信号。
第二桥单元可以包括配置接口,该配置接口用于将多个中断线中的一个或多个连接到电互连中的多个通信通道中的一个或多个。第二处理器可以能够控制配置接口,该配置接口可以例如是寄存器接口。
这可以使器件被配置为根据事件信号在哪个通信通道上发送来支持多种不同的动作。这又可以取决于第一桥单元写入哪个任务寄存器或接收哪个任务信号。
第二桥单元可以被配置为或可配置为响应于通过电互连接收到前述事件信号而向第二组外围设备的外围设备发送本地事件信号。第二桥单元可以被配置为或可配置为响应于通过电互连接收到另一事件信号而向第二组外围设备的外围设备发送本地事件信号,其中第二桥单元被配置为响应于接收到另一事件信号而不发送中断信号到第二处理器。事件信号是否导致向第二处理器发送中断信号可以针对每个通信通道独立配置,例如使用第二桥单元的配置接口。本地事件信号可以通过连接在第二桥单元和外围设备之间的本地事件线(例如,用于在第二处理子系统内传送单比特信号的电线)发送。第二处理子系统可以包括从第二桥单元连接到第二组外围设备的一个或多个外围设备的一条或多条本地事件信号线。
第二桥单元可以包括事件输出寄存器,并且可以被配置为或可配置为响应于通过电互连接收到事件信号而改变事件输出寄存器的值。这可以使第二组本地外围设备(或第二处理器)中的外围设备以一定间隔轮询事件输出寄存器,以确定第二桥单元何时已接收到事件信号。
第一子系统可以包括第一可编程外围接口(PPI),例如在申请人的较早公开WO2013/088121中所描述的,其全部内容通过引用结合于此。第二子系统可以包括这样的可编程外围设备接口(PPI)(为方便起见,在下文中称为“第二PPI”,尽管不应认为这意味着总是存在第一PPI)。第一PPI可以被认为是外围设备;因此第一组外围设备可以包括第一PPI。第一PPI可以通过一条或多条信号线连接到第一桥单元。第一桥单元可以被配置为从PPI接收任务信号并且通过在电互连上发送事件信号来响应。第二组外围设备可以包括第二PPI。第二PPI可以通过一条或多条本地事件信号线连接到第二桥单元。第二桥单元可以被配置为响应于通过电互连接收到事件信号而向PPI发送本地事件信号。器件可以被配置为使得第一组外围设备中的外围设备可以通过向第一PPI发送信号来触发通过电互连的事件信号的发送。器件可以被配置为使得第二组外围设备中的外围设备可以响应于第二桥单元通过电互连接收到事件信号而从第二PPI接收任务信号。
因此,第一桥单元和第二桥单元之间的电互连可以被配置为充当外围到外围桥,从而将第一组外围设备中的一个或多个与第二组外围设备中的一个或多个连接。在一些实施例中,这可以直接发生,而不向第一或第二处理器发送中断信号。
第一桥单元可以在第一时钟域中。第二桥单元可以在不同于第一时钟域的第二时钟域中。事件信号可以通过电互连异步发送。
器件可以包括一个或多个其他处理子系统。每个其他处理子系统可以包括:
各自的本地总线;
连接到本地总线的各自的处理器;
连接到本地总线的各自的一组一个或多个本地外围设备;和
连接到本地总线的各自的桥单元。
每个这样的桥单元可以连接到电互连,或者可以可切换地连接到电互连。
每个这样的桥单元可以包括各自的任务寄存器,并且可以配置为或可配置为:
检测对任务寄存器的写入;和
通过经电互连发送事件信号来响应写入。
每个这样的桥单元可以附加地或可替代地被配置为或可配置为:
通过电互连接收事件信号;和
响应于接收到事件信号而向其各自的处理器发送中断信号。
这样,三个或更多处理器可以相互通信。通信可以以一对多、多对一或多对多的方式进行。即使在两个或多个处理子系统之间没有内存总线连接或只有有限的总线连接(例如,仅单向),这也是可能的。
本文参照第一桥单元或第一子系统描述的特征也可以是第二桥单元或第二子系统或任何其他桥单元或子系统的特征。类似地,本文参考第二桥单元或第二子系统描述的特征也可以是第一桥单元或子系统或任何其他桥单元或子系统的特征。
在适当的情况下,本文描述的任何方面或实施例的特征可以应用于本文描述的任何其他方面或实施例。在参考不同的实施例或一组实施例时,应当理解,这些不一定是不同的,而是可以重叠。
现在将参考附图仅以举例的方式描述本发明的某些优选实施例,其中:
图1是示出根据本发明的第一集成电路器件的组件的示意图,其包括通过互连连接的两个不同的子系统;
图2是示出根据本发明的第二集成电路器件的组件的示意图,其包括通过互连连接的两个不同的子系统;
图3示出了图2的集成电路器件的第一配置;和
图4示出了图2的集成电路器件的第二配置。
图5示出了在更高级别的电源域内的示例性处理器的电源域,示出了使用本发明的电互连的处理器将另一处理器从睡眠状态唤醒所需的结构。
图1显示集成微控制器单元(MCU)器件1。它具有第一子系统10和第二单独的子系统40。
第一子系统10包括第一本地处理器14(例如,ARMTM Cortex-M4),其通过第一本地总线12通信地连接到子系统的其他组件。该总线12可以被实现为单个总线,或者被实现为多个总线,例如,ARMTM高级高性能总线(AHPB)和ARMTM高级外围总线(APB)。其他组件包括第一组一个或多个本地外围器件16(例如,串行连接、计时器、数模转换器等);第一非易失性代码存储器18,用于存储软件指令;第一RAM 20;第一桥单元22。器件1当然可以包括图1中未示出的其他常规组件。
第二子系统40类似于第一子系统10。它包括第二本地处理器44(例如ARMTMCortex-M4),其通过第二本地总线42通信连接到子系统的其他组件。同样,这可以被实现为单个总线或多个总线。这些其他组件包括第二组一个或多个本地外围设备46(例如,串行连接、计时器、数模转换器等);第二非易失性代码存储器48,用于存储软件指令;第二RAM50;第二桥单元52。当然,它可以包括其他常规组件。
在一些实施例中,第一代码存储器18和第二代码存储器48可以是公共代码存储器的相应区域。类似地,第一RAM 20和第二RAM 50可以是公共RAM的相应区域。
第一和第二子系统10、40和/或第一和第二处理器14、44可以例如从片外晶体振荡器或从片上时钟源接收公共时钟信号,或者它们可以接收各自的时钟信号。第一子系统10可以或可以不同步到第二子系统40。两个子系统10、40可以以不同的时钟频率和/或相位运行。
共享存储器单元90还连接到每个子系统10、40的本地总线12、42。第一处理器14和第二处理器44都可以读取和写入共享存储器单元90中的一组公共地址。
每个子系统10、40在其桥单元22、52和其处理器14、44之间还具有各自的专用中断线92、94,这使得各个桥单元22、52能够经由各自的中断线92、94向其各自的处理器14、44发出中断信号IRQ(中断请求)。
电互连70提供用于在桥单元22、52之间传送事件信号的通信通道72。
第一子系统10的桥单元22包括事件发生器24、事件接收器26、将事件发生器24连接到互连70的通信通道72的带开关输出连接73,以及将互连70的通信通道72连接到事件接收器26的带开关输入连接75。通过将相应的位值写入用于桥单元22的控制寄存器中,可以在第一处理器14的控制下断开或闭合带开关连接73、75。
类似地,第二子系统40的桥单元52包括事件发生器54、事件接收器56、将事件发生器54连接到互连70的通信通道72的带开关输出连接74,以及将互连70的通信通道72连接到事件接收器56的带开关输入连接76。通过将相应的位值写入用于桥单元52的控制寄存器中,可以在第二处理器44的控制下断开或闭合带开关连接74、76。
桥单元22、52包括与相应处理器14、44的硬件分离并作为其附加的硬件(逻辑门、导线等)。桥单元22、52可以有效地是附加的外围设备。互连70可以仅由电线和连接组成,或者可以包括一个或多个晶体管或逻辑门。将理解的是,被认为是桥单元22、52的一部分以及被认为是互连70的一部分的不一定是固定的。
在使用中,存储在第一代码存储器18中的软件可以指示第一处理器14配置第一桥单元22以关闭带开关连接73,以便将第一桥单元22的事件发生器24连接到互连70的通信通道72。存储在第二代码存储器48中的软件可以指示第二处理器44配置第二桥单元52以闭合带开关连接76,以便将第二桥单元52的事件接收器56连接至互连70的通信通道72。以这种方式,在第一桥单元22的事件发生器24和第二桥单元52的事件接收器56之间建立了通信路径。
然后,在第一处理器14上执行的软件可以使第一桥单元22的事件发生器24向第二桥单元52的事件接收器56发送事件。这是通过第一处理器14将一个位写入与事件发生器24相关联的任务寄存器24a来完成的。(将意识到,任务寄存器24a的物理位置可以远离桥单元22的其他部件;例如,它可以与RAM 20物理地位于一个块中。)然后,事件信号将从第一桥单元22的事件发生器24,通过带开关连接73到通信通道72,然后通过带开关连接76从通信通道72到第二桥单元52的事件接收器56。
事件接收器56可以通过任何适当的机制将事件传达给第二处理器44和/或一个或多个外围设备46。事件接收器56可以例如改变与事件接收器56相关联的“事件接收”寄存器的值。第二处理器44和/或外围设备46可以按间隔轮询该寄存器。响应于通过互连70接收到事件信号,事件接收器56经由中断线94将中断发送到第二处理器44可能比使第二处理器44轮询寄存器更有效。第二处理器44可以基于写入到桥单元52的配置寄存器的值来配置是否发送中断(即,可以打开或关闭)。
第二桥单元22具有与第一桥单元52相对应的特征。
事件信号本身不包含已发生某种情况的信号以外的任何信息。共享存储器90可以用于例如以命令/事件队列的形式在第一和第二处理器14、44之间携带附加信息。由软件决定将逻辑功能分配给通信通道72。例如,通信通道72可以被第一处理器14用来通知准备好执行第一处理器14已经写到共享存储器90中的预定地址的命令;第二处理器44可以预定通信通道72(通过关闭带开关连接76),以便被通知所述命令准备就绪,并且可以从预定义的地址获取命令,并执行该命令。
通过适当地设置带开关连接73-76,在两个子系统10、40上执行的软件可以交替地建立从第二桥单元52的事件发生器54到第一桥单元22的事件接收器26的通信路径。然后,第二处理器44可以写入任务寄存器54a,以使第二桥单元52的事件发生器54通过通信通道72向第一桥单元22发送事件信号,其可以经由中断线92中断第一处理器14。
在某些情况下,可能关闭所有四个带开关连接73-76,例如,其中每个子系统10、40能够区分来自另一个子系统的事件信号和从发出它的桥单元22、52循环回的事件信号,后者可能是由于时间背景或由于通过共享存储器90的通信等引起的。
图2示出了类似于图1的器件1的器件201的另一实施例,但是其中互连270支持两个通信通道271、272,而不是仅一个通道70。图1中的等效特征在图2中标有相似的数字加200。
在该实施例中,第一桥单元222包含两个事件发生器224、225和两个事件接收器226、227。第二桥单元252还包含两个事件发生器254、255和两个事件接收器256、257。
第一桥单元222中的每个事件发生器224、225具有各自的输出线,该输出线分支成两条带开关线232、234和233、235。来自每个事件发生器224、225的第一带开关分支线232、233馈入第一事件发生或门228,而来自每个事件发生器224、225的第二带开关分支线234、235馈入第二事件发生或门229。第一事件发生或门228的输出连接到互连270中的第一通信通道271。第二事件发生或门229的输出连接到互连270中的第二通信通道272。
第二桥单元252具有两个事件发生或门258、259的相应布置,它们由相应的带开关线262、263和264、265从其两个事件发生器254、255馈入。
第一桥单元222中的每个事件接收器226、227具有相应的输入线,该输入线是相应的一个或两个事件接收或门230、231的输出。第一事件接收或门230具有两条带开关输入线236、237,其分别可切换地连接到第一通信通道271和第二通信通道272。第二事件接收或门231具有两条带开关输入线238、239,其也分别可切换地连接到第一通信通道271和第二通信通道272。
第二桥单元252具有第一事件接收或门260和第二事件接收或门261的相应布置,第一事件接收或门260分别由带开关线266、267从第一和第二通信通道271、272馈入,并输出到第一事件接收器256;第二事件接收或门261分别由带开关线268、268从第一和第二通信通道271、272馈入,并输出到第二事件接收器257。
在使用中,第一处理器214和第二处理器244可以适当地设置开关232-239、262-269,以连接任何一个或多个事件发生器224、225、254、255以及任何一个或多个事件接收器226、227、256、257到第一和/或第二通信通道271、272。
例如,可以将第一桥单元222中的第一事件发生器224连接到第一通信通道271,并且可以将第二桥单元252中的两个事件接收器256、257都连接到第一通信通道271,使得第一处理器214发起的一个事件信号可以使第二子系统240上的两个事件接收器256、257做出响应。
图3示出了器件201的另一示例配置,其中,第一子系统210的处理器214已经闭合了从第一桥单元222的第一事件发生器224到输出至第一通信通道271的事件发生或门228的带开关线232。第二子系统240的处理器244已经闭合了从第一通信通道271通向输出到第二桥单元252的第一事件接收器256的事件接收或门260的带开关线266。所有其他带开关线均断开。因此,在该实例中,第一处理器214可以通过第一通信通道271上的事件信号(其可以是上升边缘、下降边缘、脉冲或任何其他合适的信号)在第二处理器244上触发中断。在该实例中,不使用第二通信通道272。
图4示出了同一器件201的更复杂的配置,其中,除了已经参考图3提到的开关232和266之外,还闭合了另外三个带开关线路235、266、267,以连接第一子系统210的第二事件发生器225到第二通信通道272,从而也将第二子系统240的第一和第二事件接收器256、257连接到第二通信通道272。因此,由第一子系统210的第二事件发生器225发出的事件将被第二子系统240上的两个事件接收器256、257接收。例如,在外围设备246中的第一个配置为响应事件接收器256、257中的一个,而外围设备246中的第二个配置为响应事件接收器257、256中的另一个时,这可能有用,并且,在某些配置中,希望两个外围设备都响应来自第一子系统210的输入信号。
在其他配置中,通信通道271、272中的一个可以用于从第一子系统210到第二子系统240进行通信,而通信通道272、271中的另一个用于从第二子系统240到到第一子系统210在另一个方向进行通信。
应当理解,可以按比例放大或缩小图2所示的相同体系结构,以在每个子系统上支持任意数量的事件发生器和任意数量的事件接收器。互连270中的通信通道的数量也可以改变。具有N个事件发生器的子系统可以具有数量等于通信通道C的事件发生或门,每个事件发生或门具有N个带开关输入,一个戴开关输入来自N个事件发生器的每个,以及每个输出到通信通道中的相应一个。具有M个事件接收器的子系统可以具有M个事件接收或门,每个具有C个带开关输入,一个带开关输入来自C个通信通道的每个,每个输出到事件接收器中的一个。
与第一和第二子系统214、244相似或相同的附加子系统也可以可切换地连接到互连270。
在一些配置中,来自一个事件发生器的事件信号可以被多个事件接收器接收。在一些配置中,一个事件接收器可以从多个事件发生器接收事件信号。
图5示出了具有第一子系统10、第二独立子系统40和第三独立子系统300的集成MCU1。可以有任何数量的子系统。第一、第二和第三子系统类似于上述子系统。
在该实施例中,第一子系统10在第一电源域中,第二子系统40在第二电源域中,并且第三子系统300在第三电源域中。如图5所示,第一电源域、第二电源域和第三电源域是辅助电源域,它们是“高级”电源域的一部分。
在一些实施例中,每个子系统可以具有多个电源域。例如,子系统10的处理器14可以在与子系统10的桥单元22不同的电源域中。
更高级别的电源域包括电源状态模块400,该模块监视每个辅助电源域的开机状态。
上电的电源域中的桥单元可以在发送事件信号之前,将上电请求信号发送到电源状态模块400。电源状态模块400可以监视来自任何辅助电源域的事件信号或上电请求信号。如果检测到事件信号或上电请求信号,则在该实施例中,电源状态模块400打开所有辅助电源域。在其他实施例中,仅打开一个或一些其他辅助电源域。辅助电源域例如通过电源状态模块400打开掉电的辅助电源域的电源开关来打开。
由电源状态模块400打开的电源域的桥单元各自向电源状态模块400发送上电报告信号。来自每个桥单元的上电报告信号通知电源状态模块400各个电源域现在都打开。上电报告信号可以发送一次,也可以连续发送(例如,通过将线路保持为逻辑高状态)。在接收到所有上电报告信号之后,电源状态模块400将就绪信号发送到桥单元,该桥单元将上电请求信号发送到电源状态模块。这通知此桥单元所有电源域均已打开。
在从电源状态模块400接收到就绪信号之后,发送了通电请求的桥单元可以通过电互连370向另一个桥单元发送唤醒事件信号,该另一个桥单元然后可以向其各自的处理器发送中断。如果相应的处理器仍处于睡眠状态,则接收到中断可使处理器从睡眠状态中唤醒。
例如,当第二处理器和第三处理器处于睡眠状态时,第一处理器14可以唤醒第二处理器和第三处理器44、304。在第一处理器14上执行的软件可使第一桥单元22的事件发生器24生成并向电源状态模块400发送上电请求信号。电源状态模块400可以接收该上电请求信号,并且打开第二处理器44和第三处理器304的电源域的电源开关,然后使第二电源域和第三电源域上电。
一旦第二和第三电源域被加电,第二和第三电源域的桥单元52、322就向电源状态模块400发送上电报告信号。在从各个桥单元接收到所有上电报告信号之后,电力状态模块400将就绪信号发送到第一桥单元22。然后,第一桥单元22的事件发生器通过电互连370将唤醒事件信号发送到第二处理器和第三处理器的桥单元52、322。第二和第三子系统的桥单元52、322接收从第一桥单元22发送的唤醒事件信号。然后,第二子系统和第三子系统的桥单元52、322分别向其各自的处理器44、304发送唤醒中断信号。第二和第三处理器44、304响应于从它们各自的桥单元52、322接收到唤醒中断信号而从睡眠状态唤醒。
只要更高级别的电源域保持打开状态,任何子系统的处理器都有可能以此方式唤醒另一个子系统的处理器。
本领域技术人员将理解,已经通过描述本发明的一个或多个具体实施例来说明了本发明,但是本发明不限于这些实施例;在所附权利要求的范围内,许多变化和修改是可能的。
Claims (18)
1.一种集成电路器件,其包括:
第一处理子系统,其包括:
第一本地总线;
连接到第一本地总线的第一处理器;
连接到第一本地总线的第一组一个或多个本地外围设备;和
连接到第一本地总线的第一桥单元;
第二处理子系统,其包括:
第二本地总线;
连接到第二本地总线的第二处理器;
连接到第二本地总线的第二组一个或多个本地外围设备;和
连接到第二本地总线的第二桥单元;和
第一桥单元和第二桥单元之间的电互连,
其中:
第一处理子系统、第二处理子系统和所述电互连集成在公共的半导体基板上;
第一桥单元包括任务寄存器,该任务寄存器可通过第一本地总线访问;
第一桥单元被配置为或可配置为:
检测对所述任务寄存器的写入;和
通过在所述电互连上向第二桥单元发送事件信号来响应所述写入,并且
第二桥单元被配置为或可配置为:
从第一桥单元接收所述事件信号;和
响应于接收到所述事件信号,向第二处理器发送中断信号。
2.根据权利要求1所述的集成电路器件,其中所述第二处理子系统在所述第二桥单元与所述第二组外围设备的外围设备之间包括本地事件线,用于从所述第二桥单元向所述外围设备发送本地事件信号,其中第二桥单元被配置为或可配置为响应于通过所述电互连接收到所述事件信号而向所述外围设备发送这样的本地事件信号。
3.根据权利要求1所述的集成电路器件,其中所述第二处理子系统在所述第二桥单元与所述第二组外围设备的外围设备之间包括本地事件线,用于从所述第二桥单元向所述外围设备发送本地事件信号,其中第二桥单元被配置为或可配置为响应于通过所述电互连接收到另外事件信号而向所述外围设备发送这样的本地事件信号,其中第二桥单元被配置为响应于接收到所述另外事件信号不发送中断信号到第二处理器。
4.根据权利要求2或3所述的集成电路器件,其中所述第二组外围设备的所述外围设备是可编程外围设备接口(PPI),并且其中所述第二处理子系统包括将所述PPI连接到第二组外围设备的一个或多个另外外围设备的一条或多条事件线。
5.根据任一前述权利要求所述的集成电路器件,其中所述第一处理子系统包括在所述第一组外围设备的外围设备与所述第一桥单元之间的线路,用于从所述外围设备向所述第一桥单元发送任务信号,其中第一桥单元被配置为或可配置为通过在所述电互连上向第二桥单元发送事件信号来响应于从所述外围设备接收到这样的任务信号。
6.根据权利要求5所述的集成电路器件,其中所述第一组外围设备中的所述外围设备是可编程外围设备接口(PPI),并且其中所述第一处理子系统包括连接所述第一组外围设备中的一个或多个另外外围设备到所述PPI的一条或多条任务线。
7.根据权利要求1所述的集成电路器件,其中所述第二处理器被配置为响应于从所述第二桥单元接收到所述中断信号而从睡眠状态唤醒。
8.根据权利要求7所述的集成电路器件,其中:
所述第一处理器在第一电源域中,所述第二处理器在第二电源域中,所述第一电源域和第二电源域在更高级别电源域中;
所述集成电路器件还包括电源状态模块;
第一桥单元被配置为向所述电源状态模块发送上电请求信号;
所述电源状态模块被配置为,在从所述第一桥单元接收到所述上电请求信号后,打开所述第二电源域的电源开关;
第二电源域被配置为在所述电源开关的所述打开后上电,并且在所述上电之后,向所述电源状态模块发送上电报告信号;
所述电源状态模块被配置为在从所述第二电源域接收到所述上电报告信号后向所述第一桥单元发送就绪信号;
第一桥单元被配置为在从所述电源状态模块接收到所述就绪信号之后通过所述电互连向第二桥单元发送唤醒事件信号;
第二桥单元被配置为通过所述电互连从第一桥单元接收所述唤醒事件信号,并且在接收到所述唤醒事件信号后向第二处理器发送中断信号;
第二处理器被配置为响应于从第二桥单元接收到所述中断信号而从所述睡眠状态唤醒。
9.根据任一前述权利要求所述的集成电路器件,其中所述第二处理器被配置为响应于接收到所述中断信号而执行中断例程。
10.根据任一前述权利要求所述的集成电路器件,其进一步包含共享存储器,其中所述第一处理子系统和所述第二处理子系统配置为访问所述共享存储器。
11.根据权利要求10所述的集成电路器件,其包含代码存储器,所述代码存储器存储第一软件指令,所述第一软件指令在由所述第一处理器执行时使所述第一处理器将数据写入所述共享存储器,并且还存储第二软件指令,所述第二软件指令当由第二处理器执行时,响应于第二处理器接收到所述中断信号,使第二处理器从所述共享存储器读取数据。
12.根据任一前述权利要求所述的集成电路器件,其中当所述第一处理器处于睡眠状态时,所述第一桥单元能够从所述第一组本地外围设备中的一个或多个接收信号。
13.根据任一前述权利要求所述的集成电路器件,其中所述第一桥单元在第一时钟域中,并且其中所述第二桥单元在与所述第一时钟域不同的第二时钟域中,并且其中所述事件信号通过所述互连异步地发送。
14.根据任一前述权利要求所述的集成电路器件,包括一个或多个另外处理子系统,每个另外处理子系统包括:
各自的本地总线;
连接到本地总线的各自的处理器;
连接到本地总线的各自的一组一个或多个本地外围设备;和
连接到本地总线的各自的桥单元,
其中每个所述桥单元包括各自的任务寄存器,并且被配置为或可配置为:
检测对所述任务寄存器的写入;和
通过经电互连发送事件信号来响应写入。
15.根据权利要求14所述的集成电路器件,其中每个所述桥单元被配置为或可配置为:
通过电互连接收事件信号;和
响应于接收到事件信号而向其各自的处理器发送中断信号。
16.根据权利要求14或15所述的集成电路器件,其中每个处理器处于作为较高级电源域的一部分的单独的电源域中;
其中所述电源状态模块被配置为:
检测来自任何所述桥单元的上电请求信号;和
响应于检测到来自任何所述桥单元的上电请求信号,打开一个、一些或所有所述处理器的所述电源域的相应电源开关;
其中:
每个电源域被配置为在打开其各自的电源开关时加电,并且在加电之后向所述电源状态模块发送上电报告信号;
所述电源状态模块被配置为在接收到所述上电报告信号后,向发送所述上电请求的所述桥单元发送就绪信号;
每个处理器的所述桥单元被配置为在接收到所述就绪信号后,将唤醒事件信号发送到处于睡眠状态的另一处理器的另一桥单元;
每个相应处理器的所述桥单元被配置为在接收到所述唤醒事件信号后向每个相应处理器发送中断;和
每个处理器被配置为响应于从相应的桥单元接收到所述中断而从睡眠状态唤醒。
17.一种操作集成电路器件的方法,所述集成电路器件包括:
第一处理子系统,其包括:
第一本地总线;
连接到第一本地总线的第一处理器;
连接到第一本地总线的第一组一个或多个本地外围设备;和
第一桥单元,其连接到第一本地总线并且包括任务寄存器,该任务寄存器可通过第一本地总线访问;
第二处理子系统,其包括:
第二本地总线;
连接到第二本地总线的第二处理器;
连接到第二本地总线的第二组一个或多个本地外围设备;和
连接到第二本地总线的第二桥单元;和
第一桥单元和第二桥单元之间的电互连,
其中,所述方法包括:
第一处理器或第一组本地外围设备中的一个或多个写入到第一桥单元的任务寄存器;
第一桥单元检测对任务寄存器的写入,并通过电互连向第二桥单元发送事件信号进行响应;
第二桥单元从第一桥单元接收所述事件信号,并通过向第二处理器发送中断信号进行响应。
18.根据权利要求17所述的方法,还包括:
所述第一处理器在第一电源域中,所述第二处理器在第二电源域中,所述第一电源域和第二电源域在更高级别电源域中;
所述集成电路器件还包括电源状态模块;
第一桥单元向所述电源状态模块发送上电请求信号;
所述电源状态模块在从所述第一桥单元接收到所述上电请求信号后,打开所述第二电源域的电源开关;
第二电源域在打开所述电源开关后上电,并向所述电源状态模块发送上电报告信号;
所述电源状态模块在接收到所述上电报告信号后,向所述第一桥单元发送就绪信号;
第一桥单元在从所述电源状态模块接收到所述就绪信号之后通过所述电互连向第二桥单元发送唤醒事件信号;
第二桥单元通过所述电互连从第一桥单元接收所述唤醒事件信号,并且在接收到所述唤醒事件信号后向第二处理器发送中断信号;和
第二处理器响应于从第二桥单元接收到所述中断信号而从所述睡眠状态唤醒。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1801572.7A GB201801572D0 (en) | 2018-01-31 | 2018-01-31 | Inter-processor communication |
GB1801572.7 | 2018-01-31 | ||
PCT/EP2019/052205 WO2019149731A1 (en) | 2018-01-31 | 2019-01-30 | Inter-processor communication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111656338A true CN111656338A (zh) | 2020-09-11 |
CN111656338B CN111656338B (zh) | 2024-06-21 |
Family
ID=61558150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980010772.4A Active CN111656338B (zh) | 2018-01-31 | 2019-01-30 | 处理器间通信 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11467892B2 (zh) |
EP (1) | EP3746904A1 (zh) |
CN (1) | CN111656338B (zh) |
GB (1) | GB201801572D0 (zh) |
WO (1) | WO2019149731A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115237822A (zh) * | 2022-09-22 | 2022-10-25 | 之江实验室 | 一种针对晶圆级处理器iic配置接口的地址优化装置 |
CN115525137A (zh) * | 2022-11-23 | 2022-12-27 | 紫光同芯微电子有限公司 | 一种数据协同处理方法、系统、存储介质及电子设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6836088B1 (ja) * | 2019-12-19 | 2021-02-24 | 富士通クライアントコンピューティング株式会社 | 情報処理システム、プラットフォーム、およびプログラム |
GB202003404D0 (en) | 2020-03-09 | 2020-04-22 | Nordic Semiconductor Asa | Radio transmitter apparatus with cryptographic engine |
KR102575773B1 (ko) * | 2021-03-29 | 2023-09-06 | 숭실대학교산학협력단 | 대칭적 인터페이스를 이용하여 외부 서비스 요청 처리가 가능한 프로세서 |
GB202109810D0 (en) * | 2021-07-07 | 2021-08-18 | Nordic Semiconductor Asa | Interrupt management |
CN113688094B (zh) * | 2021-08-24 | 2024-03-22 | 中汽创智科技有限公司 | 一种车机系统的数据通信方法、装置、系统及存储介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953538A (en) * | 1996-11-12 | 1999-09-14 | Digital Equipment Corporation | Method and apparatus providing DMA transfers between devices coupled to different host bus bridges |
US20020120803A1 (en) * | 2000-12-07 | 2002-08-29 | Porterfield A. Kent | Link bus for a hub based computer architecture |
US20020152060A1 (en) * | 1998-08-31 | 2002-10-17 | Tseng Ping-Sheng | Inter-chip communication system |
EP1286265A2 (en) * | 2001-08-10 | 2003-02-26 | Sun Microsystems, Inc. | Console connection |
US6567876B1 (en) * | 1999-12-03 | 2003-05-20 | Hewlett-Packard Development Company, L.P. | Docking PCI to PCI bridge using IEEE 1394 link |
US20080022030A1 (en) * | 2006-07-24 | 2008-01-24 | Kesami Hagiwara | Data processing system |
US20080148083A1 (en) * | 2006-12-15 | 2008-06-19 | Microchip Technology Incorporated | Direct Memory Access Controller |
US20090157936A1 (en) * | 2007-12-13 | 2009-06-18 | Texas Instruments Incorporated | Interrupt morphing and configuration, circuits, systems, and processes |
US20110213992A1 (en) * | 2010-02-28 | 2011-09-01 | Freescale Semiconductor, Inc. | Method of waking processor from sleep mode |
CN201984307U (zh) * | 2011-02-21 | 2011-09-21 | 山东力创科技有限公司 | 基于ARM Cortex M0的数字时差转化MCU芯片 |
WO2013055447A1 (en) * | 2011-10-12 | 2013-04-18 | Apple Inc. | Using latched events to manage sleep/wake sequences on computer systems |
WO2013086704A1 (en) * | 2011-12-14 | 2013-06-20 | General Electric Company | Systems and methods for interfacing master and slave processors |
US20130215901A1 (en) * | 2012-02-17 | 2013-08-22 | Netronome Systems, Inc. | Flow Control Using a Local Event Ring In An Island-Based Network Flow Processor |
US20150113184A1 (en) * | 2013-10-21 | 2015-04-23 | Xmos Limited | Processor communications |
WO2016203193A1 (en) * | 2015-06-16 | 2016-12-22 | Nordic Semiconductor Asa | Event generating unit |
WO2017172124A1 (en) * | 2016-03-30 | 2017-10-05 | Intel Corporation | Arbiter based serialization of processor system management interrupt events |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3997896A (en) | 1975-06-30 | 1976-12-14 | Honeywell Information Systems, Inc. | Data processing system providing split bus cycle operation |
US5404535A (en) | 1991-10-22 | 1995-04-04 | Bull Hn Information Systems Inc. | Apparatus and method for providing more effective reiterations of processing task requests in a multiprocessor system |
US6463492B1 (en) * | 1999-04-08 | 2002-10-08 | Micron Technology, Inc. | Technique to automatically notify an operating system level application of a system management event |
US7743186B2 (en) * | 2007-04-27 | 2010-06-22 | Atmel Corporation | Serialization of data for communication with different-protocol slave in multi-chip bus implementation |
US8464281B2 (en) * | 2010-08-18 | 2013-06-11 | Sas Institute, Inc. | Techniques to remotely access object events |
GB2497528B (en) | 2011-12-12 | 2020-04-22 | Nordic Semiconductor Asa | Peripheral communication |
US9141493B2 (en) * | 2013-07-12 | 2015-09-22 | International Business Machines Corporation | Isolating a PCI host bridge in response to an error event |
US20150362980A1 (en) * | 2014-06-16 | 2015-12-17 | Apple Inc. | Always-On Processor as a Coprocessor |
US9875202B2 (en) * | 2015-03-09 | 2018-01-23 | Nordic Semiconductor Asa | Peripheral communication system with shortcut path |
-
2018
- 2018-01-31 GB GBGB1801572.7A patent/GB201801572D0/en not_active Ceased
-
2019
- 2019-01-30 US US16/966,179 patent/US11467892B2/en active Active
- 2019-01-30 CN CN201980010772.4A patent/CN111656338B/zh active Active
- 2019-01-30 EP EP19702262.7A patent/EP3746904A1/en active Pending
- 2019-01-30 WO PCT/EP2019/052205 patent/WO2019149731A1/en unknown
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953538A (en) * | 1996-11-12 | 1999-09-14 | Digital Equipment Corporation | Method and apparatus providing DMA transfers between devices coupled to different host bus bridges |
US20020152060A1 (en) * | 1998-08-31 | 2002-10-17 | Tseng Ping-Sheng | Inter-chip communication system |
US6567876B1 (en) * | 1999-12-03 | 2003-05-20 | Hewlett-Packard Development Company, L.P. | Docking PCI to PCI bridge using IEEE 1394 link |
US20020120803A1 (en) * | 2000-12-07 | 2002-08-29 | Porterfield A. Kent | Link bus for a hub based computer architecture |
EP1286265A2 (en) * | 2001-08-10 | 2003-02-26 | Sun Microsystems, Inc. | Console connection |
US20080022030A1 (en) * | 2006-07-24 | 2008-01-24 | Kesami Hagiwara | Data processing system |
US20080148083A1 (en) * | 2006-12-15 | 2008-06-19 | Microchip Technology Incorporated | Direct Memory Access Controller |
US20090157936A1 (en) * | 2007-12-13 | 2009-06-18 | Texas Instruments Incorporated | Interrupt morphing and configuration, circuits, systems, and processes |
US20110213992A1 (en) * | 2010-02-28 | 2011-09-01 | Freescale Semiconductor, Inc. | Method of waking processor from sleep mode |
CN201984307U (zh) * | 2011-02-21 | 2011-09-21 | 山东力创科技有限公司 | 基于ARM Cortex M0的数字时差转化MCU芯片 |
WO2013055447A1 (en) * | 2011-10-12 | 2013-04-18 | Apple Inc. | Using latched events to manage sleep/wake sequences on computer systems |
WO2013086704A1 (en) * | 2011-12-14 | 2013-06-20 | General Electric Company | Systems and methods for interfacing master and slave processors |
US20130215901A1 (en) * | 2012-02-17 | 2013-08-22 | Netronome Systems, Inc. | Flow Control Using a Local Event Ring In An Island-Based Network Flow Processor |
US20150113184A1 (en) * | 2013-10-21 | 2015-04-23 | Xmos Limited | Processor communications |
WO2016203193A1 (en) * | 2015-06-16 | 2016-12-22 | Nordic Semiconductor Asa | Event generating unit |
CN107690631A (zh) * | 2015-06-16 | 2018-02-13 | 北欧半导体公司 | 事件生成单元 |
WO2017172124A1 (en) * | 2016-03-30 | 2017-10-05 | Intel Corporation | Arbiter based serialization of processor system management interrupt events |
Non-Patent Citations (4)
Title |
---|
CHI-RAY HUANG 等: "Single bit-line 8T SRAM cell with asynchronous dual word-line control for bitinterleaved ultra-low voltage operation", 《LOW VOLTAGE LOW POWER INTEGRATED CIRCUITS AND SYSTEMS》, 29 October 2018 (2018-10-29) * |
MOTOROLA: "MPC107 PCI Bridge/Memory Controller Technical Summary", 《FREESCALE SEMICONDUCTOR, INC.》, 23 November 2016 (2016-11-23) * |
刘德保 等: "硬件信号量在多核处理器核间通信中的应用", 《单片机与嵌入式系统应用》, no. 1 * |
蔡田田 等: "多粒度通信优化的MPSoC调度映射策略", 《浙江大学学报(理学版)》, vol. 44, no. 4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115237822A (zh) * | 2022-09-22 | 2022-10-25 | 之江实验室 | 一种针对晶圆级处理器iic配置接口的地址优化装置 |
CN115525137A (zh) * | 2022-11-23 | 2022-12-27 | 紫光同芯微电子有限公司 | 一种数据协同处理方法、系统、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210034442A1 (en) | 2021-02-04 |
US11467892B2 (en) | 2022-10-11 |
EP3746904A1 (en) | 2020-12-09 |
CN111656338B (zh) | 2024-06-21 |
WO2019149731A1 (en) | 2019-08-08 |
GB201801572D0 (en) | 2018-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111656338B (zh) | 处理器间通信 | |
US10585448B2 (en) | Low power autonomous peripheral management | |
US4628480A (en) | Arrangement for optimized utilization of I/O pins | |
US8040215B2 (en) | Address selection for an I2C bus | |
US5677849A (en) | Selective low power clocking apparatus and method | |
KR20170116042A (ko) | 독립적인 전력 콜랩스 방법론 | |
US7103785B2 (en) | Method and apparatus for power management event wake up | |
US20080024163A1 (en) | Programmable logic device | |
JP2002543728A (ja) | スレーブ装置のスリープモード起動 | |
EP3596983A1 (en) | Power management of an nze iot device | |
US9190989B1 (en) | Integrated circuit power management | |
CN112602040A (zh) | 外设功率域 | |
KR20040076281A (ko) | 시스템, 전력 소비 절감 방법 및 전자 회로 | |
US20040153582A1 (en) | Data processor and memory card | |
US8274466B2 (en) | System and method for providing bias voltages to pad logic of an LCD controller | |
EP4070204A1 (en) | Data transfers between a memory and a distributed compute array | |
US20160109928A1 (en) | Integrated circuit and low power method of operation | |
US10331592B2 (en) | Communication apparatus with direct control and associated methods | |
JPS61250739A (ja) | デ−タソ−スシステム | |
JPH09190238A (ja) | 節電クロッキング・システム | |
US11620246B1 (en) | Enhanced peripheral processing system to optimize power consumption | |
US6816417B2 (en) | Input/output buffer circuit | |
JPS5919373B2 (ja) | クロツク切替方式 | |
KR20070061625A (ko) | 멀티-칩 모듈의 마이크로 컨트롤러 유닛, 이를 포함하는멀티-칩 모듈, 및 멀티-칩 모듈의 전원 모드 동기 방법 | |
KR19990058834A (ko) | 공통 마이크로 프로세서 버스의 중재 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |