CN112948321B - 用于管理片上系统的操作的方法和对应的片上系统 - Google Patents
用于管理片上系统的操作的方法和对应的片上系统 Download PDFInfo
- Publication number
- CN112948321B CN112948321B CN202011319314.XA CN202011319314A CN112948321B CN 112948321 B CN112948321 B CN 112948321B CN 202011319314 A CN202011319314 A CN 202011319314A CN 112948321 B CN112948321 B CN 112948321B
- Authority
- CN
- China
- Prior art keywords
- device master
- chip
- configuration
- slave
- identification information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title abstract description 73
- 239000012634 fragment Substances 0.000 claims abstract description 249
- 238000010586 diagram Methods 0.000 claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 53
- 230000015654 memory Effects 0.000 claims description 46
- 230000002093 peripheral effect Effects 0.000 claims description 36
- 238000009434 installation Methods 0.000 claims description 22
- 238000004519 manufacturing process Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 description 51
- 238000012360 testing method Methods 0.000 description 41
- 238000001914 filtration Methods 0.000 description 20
- 235000019838 diammonium phosphate Nutrition 0.000 description 7
- 101100011863 Arabidopsis thaliana ERD15 gene Proteins 0.000 description 6
- 101100191082 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GLC7 gene Proteins 0.000 description 6
- 101100274406 Schizosaccharomyces pombe (strain 972 / ATCC 24843) cid1 gene Proteins 0.000 description 6
- PVNIIMVLHYAWGP-UHFFFAOYSA-N Niacin Chemical compound OC(=O)C1=CC=CN=C1 PVNIIMVLHYAWGP-UHFFFAOYSA-N 0.000 description 5
- 101150001056 FRQ1 gene Proteins 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000002184 metal Substances 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 101150021084 CID2 gene Proteins 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 2
- KVCQTKNUUQOELD-UHFFFAOYSA-N 4-amino-n-[1-(3-chloro-2-fluoroanilino)-6-methylisoquinolin-5-yl]thieno[3,2-d]pyrimidine-7-carboxamide Chemical compound N=1C=CC2=C(NC(=O)C=3C4=NC=NC(N)=C4SC=3)C(C)=CC=C2C=1NC1=CC=CC(Cl)=C1F KVCQTKNUUQOELD-UHFFFAOYSA-N 0.000 description 2
- 101100396930 Pseudomonas aeruginosa imm1 gene Proteins 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- VCGRFBXVSFAGGA-UHFFFAOYSA-N (1,1-dioxo-1,4-thiazinan-4-yl)-[6-[[3-(4-fluorophenyl)-5-methyl-1,2-oxazol-4-yl]methoxy]pyridin-3-yl]methanone Chemical compound CC=1ON=C(C=2C=CC(F)=CC=2)C=1COC(N=C1)=CC=C1C(=O)N1CCS(=O)(=O)CC1 VCGRFBXVSFAGGA-UHFFFAOYSA-N 0.000 description 1
- CYJRNFFLTBEQSQ-UHFFFAOYSA-N 8-(3-methyl-1-benzothiophen-5-yl)-N-(4-methylsulfonylpyridin-3-yl)quinoxalin-6-amine Chemical compound CS(=O)(=O)C1=C(C=NC=C1)NC=1C=C2N=CC=NC2=C(C=1)C=1C=CC2=C(C(=CS2)C)C=1 CYJRNFFLTBEQSQ-UHFFFAOYSA-N 0.000 description 1
- 235000018782 Dacrydium cupressinum Nutrition 0.000 description 1
- 240000006055 Dacrydium cupressinum Species 0.000 description 1
- 101000824035 Homo sapiens Serum response factor Proteins 0.000 description 1
- AYCPARAPKDAOEN-LJQANCHMSA-N N-[(1S)-2-(dimethylamino)-1-phenylethyl]-6,6-dimethyl-3-[(2-methyl-4-thieno[3,2-d]pyrimidinyl)amino]-1,4-dihydropyrrolo[3,4-c]pyrazole-5-carboxamide Chemical compound C1([C@H](NC(=O)N2C(C=3NN=C(NC=4C=5SC=CC=5N=C(C)N=4)C=3C2)(C)C)CN(C)C)=CC=CC=C1 AYCPARAPKDAOEN-LJQANCHMSA-N 0.000 description 1
- 102100022056 Serum response factor Human genes 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000002567 electromyography Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- XGVXKJKTISMIOW-ZDUSSCGKSA-N simurosertib Chemical compound N1N=CC(C=2SC=3C(=O)NC(=NC=3C=2)[C@H]2N3CCC(CC3)C2)=C1C XGVXKJKTISMIOW-ZDUSSCGKSA-N 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- 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/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
-
- 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/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7814—Specially adapted for real time processing, e.g. comprising hardware timers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8076—Details on data register access
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
- Storage Device Security (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
本公开的实施例涉及用于管理片上系统的操作的方法和对应的片上系统。一种片上系统,包括数个设备主件、数个从资源、能够在设备主件与从资源之间路由事务的互连电路以及至少被配置为允许片上系统的用户在片上系统内实现该系统的至少一个配置图的处理单元,配置图由配置信息片段集合定义,配置信息片段集合包括被分配给每个设备主件的至少一个标识信息片段,标识信息片段旨在被附加到由对应设备主件发出的所有事务,配置信息片段集合不被用于寻址接收事务的从资源,而是被用于定义至少一个设备主件对从资源中的至少一些从资源的分配。
Description
相关申请的交叉引用
本申请要求于2019年11月22日提交的法国申请第1913124号的权益,该申请以引用的方式并入于此。
技术领域
本发明的实施例涉及集成电路,特别地涉及片上系统(SoC),例如(多核或单核)微控制器或微处理器,并且更具体地,涉及这种片上系统的操作的管理。
背景技术
为了帮助确保片上系统的可靠性,可能有必要约束设备的一个或多个设备主件对特定从资源的访问。这种特征由本领域的技术人员在术语“隔离”下指定。
需要使对这些访问约束的管理易于实行和实现,特别是在该管理是动态的情况下,例如,当其取决于片上系统所考虑的应用时,例如在芯片的多个核心上所考虑的应用。
还需要提供一种片上系统,例如微控制器或微处理器,从而以灵活的方式允许源自片上系统的各个用户的所有用例以及所有配置,并且特别地包括低功耗模式。
发明内容
根据一个方面,提出了一种片上系统,该片上系统包括数个设备主件,例如当系统特别地形成微控制器时,该系统包括至少一个微处理器以及通常包括数个微处理器、直接存储器访问控制器(DMA:直接存储器访问),而这些示例不受限制。
此外,片上系统包括数个从资源。
通过非限制性示例的方式,从资源可以属于由以下项形成的组:至少一个外围设备,例如SPI(“串行外围接口”)类型的外围设备、I2C(“内部集成电路”)类型的外围设备、UART(“通用异步接收器发射器”)类型或实时时钟(RTC)的外围设备、外围设备的特征(例如RTC外围设备的警报线)、片上系统内部的存储部件、片上系统内部且旨在被耦合到片上系统外部的存储部件(例如DDR(“双倍数据速率”)类型的存储器)的存储接口。
此外,片上系统包括互连系统(本领域的技术人员以名称“互连”已知),该互连系统被耦合在设备主件与从资源之间并且能够在设备主件与从资源之间路由事务(例如写入或读出事务)。
此外,片上系统包括处理部件,这些处理部件至少被配置为允许片上系统的用户在该片上系统内实现该片上系统的至少一个配置图,该配置图被配置信息片段集合定义,该集合包括被分配给每个设备主件的至少一个标识信息片段。
这些标识信息片段旨在被附加到由对应设备主件发出的所有事务。
这些标识信息片段特别地被用于指定对应设备主件。
此外,这些配置信息片段的集合,特别是标识信息片段,不被用于寻址接收事务的从资源,而是被用于定义至少一个设备主件对从资源中的至少一些从资源的分配或从资源中的至少一些从资源向至少一个设备主件的分配。
此外,寻址接收事务的从资源借助于在所考虑的事务中所包含的寻址字段来执行。并且,不仅配置信息片段集合不被用于寻址接收事务的从资源,而且事务的寻址字段的内容也不被用于定义至少一个设备主件对从资源中的一些从资源的分配。
因此,将一个或多个设备主件分配给一个或多个从资源允许通过该配置信息片段集合以非常简单和灵活的方式来管理不同的从资源和不同的设备主件的隔离架构。
在非常简单的情况下,很有可能的是,配置信息片段集合仅包括被分配给设备主件的标识信息片段。并且然后可以看出,仅这些标识信息片段就允许容易地管理和定义片上系统隔离架构。
然而,如下文将更详细地看出,配置信息片段集合通常可以包括除了标识信息片段之外的其他配置信息片段,这将允许以更大的灵活性来完善隔离架构。
根据一个实施例,设备主件可以包括数个微处理器和能够由这些微处理器控制的设备主件。
此外,与微处理器的标识信息片段相同的标识信息片段可以被分配给能够由微处理器控制的设备主件中的至少一些设备主件。
这允许定义由相同标识信息片段所标识的设备主件的组或隔室。并且,例如,相同隔室的设备主件可以访问相同的存储资源。
然而,还有可能的是,能够由微处理器控制的设备主件被分配了与微处理器的标识信息片段不同的标识信息片段。
例如,这可以是PCI快速(PCI-E)类型的设备主件的情况,不希望使该设备主件访问也可以由微处理器访问的一些存储区域。
还有可能的是,能够由微处理器控制的至少一个设备主件包括能够发出事务的输出端口以及能够接收事务的输入端口。然后,输入端口被视为从资源,并且输出端口被视为设备主件。
具有输入端口和输出端口的这种设备主件可以是例如USB控制器或SD卡控制器。
处理部件有利地被配置为允许片上系统的用户在该片上系统内实现形成配置图的初始配置图。
在这种情况下,实际上考虑了静态配置的上下文,其中配置图与初始实现的配置图对应,该初始实现的配置图在片上系统的操作期间未进行任何修改。
备选地,很有可能的是,处理部件被配置为允许片上系统的用户在该片上系统内实现具有配置信息片段初始集合的初始配置图,处理部件然后还被配置为修改该初始集合的至少一个配置信息片段的值,以便获得定义配置图的配置信息片段集合。
换句话说,在该“动态”情况下,用户具有在已经实现初始配置图之后又稍后修改该初始配置图的可能性。
无论是在静态配置情况下还是在动态配置情况下,处理部件都有利地包括安装部件,安装部件包括来自设备主件的被称为设备主管理件的第一设备主件,该第一设备主管理件被配置为响应于片上系统的第一启动或冷启动而执行启动阶段,在该启动阶段的结束处,该第一设备主管理件被配置为至少允许实现初始配置图。
该第一设备主管理件可以包括微处理器或备选地包括硬件逻辑电路。
此外,第一设备主管理件的指定可以在片上系统的生产期间被固定。
换句话说,一旦片上系统被生产,就将通过从片上系统的设备主件构建第一设备主管理件来施加。
备选地,为了允许更大的灵活性,有可能的是,安装部件包括可编程指定寄存器,从而允许指定第一设备主管理件。
例如,该可编程寄存器可以由数个OTP(“一次性可编程”)存储器形成,从而允许片上系统的用户根据其应用通过对这些OTP存储器进行编程来将设备主件中的一个设备主件指定为第一设备主管理件。
特别地,为了在片上系统的配置阶段期间不生成冲突,安装部件还被有利地配置为只要第一设备主管理件尚未完成其启动阶段,就暂时使所有其他设备主件不操作。
例如,暂时使设备主件(诸如微处理器)不操作可以通过将复位信号强制为零而执行,这允许使微处理器保持处于待机状态。
根据一个实施例,安装部件还包括启动存储器,该启动存储器被配置为在片上系统的第一启动(冷启动)期间存储仅能够由第一设备主管理件执行的启动程序。
以一般的方式,处理部件优选地包括:配置部件,被配置为允许片上系统的用户定义初始配置图;以及分派部件,被配置为实现初始配置图。
在这方面,配置部件例如包括:输入,被配置为接收至少包含表示初始配置图的指令的用户程序;以及程序存储器,旨在用于存储用户程序。
例如,分派部件依次包括第一设备主管理件,该第一设备主管理件被配置为在其启动阶段的结束处执行用户程序,以便实现初始配置图。
因此,用户可以非常简单地软件定义用于片上系统的初始配置图,并且它是第一设备主管理件,在其启动阶段的结束处,该第一设备主管理件将执行用户程序以便实现初始配置图。
提供设备主管理件(该设备主管理件是被授权实现初始配置图并且在必要时对其进行修改的唯一设备主管理件)的实施例可以被独立地考虑或与前述或以下实施例中的至少一个组合地考虑。
因此,当该实施例被独立地考虑时,根据另一方面,提出了一种片上系统,该片上系统包括数个设备主件、数个从资源、被耦合在设备主件与从资源之间并且能够在设备主件与从资源之间路由事务的互连电路以及至少被配置为允许片上系统的用户在该片上系统内实现该系统的至少一个配置图的处理部件,处理部件包括安装部件,安装部件包括来自设备主件的被称为设备主管理件的第一设备主件,该第一设备主管理件被配置为允许实现配置图。
如上文所指示,该配置图可以是初始配置图,或可以是由第一设备主管理件修改的初始配置图。
该第一设备主管理件也可以被配置为修改配置图,以便实现新配置图,该新配置图可以能够由设备主管理件再次修改。
在上文中,已经考虑到只存在一个设备主管理件响应于片上系统的第一启动而操作。
然而,备选地,有可能的是,在初始设备主件与被指定为新设备主管理件的另一设备主件之间进行切换。
更具体地,并且根据一个实施例,安装部件然后包括来自设备主件的被称为“初始管理器设备”的设备主件,该设备主件被配置为在片上系统的第一启动(或冷启动)期间执行启动阶段,在该启动阶段的结束处,该设备主件被配置为授权被指定为新设备主管理件的另一设备主件的启动,然后,该新设备主管理件形成第一设备主管理件,该第一设备主管理件被配置为在其启动阶段的结束处允许实现初始配置图。
例如,当在片上系统的生产期间默认地定义初始设备主管理件并且用户希望在配置阶段期间考虑到其应用而修改设备主管理件时,这种实施例是有利的。
在这种变型实施例(改变设备主管理件)中,初始设备主管理件可以包括微处理器,并且新设备主管理件可以包括另一微处理器。
还有可能的是,初始设备主管理件包括硬件逻辑电路,并且新设备主管理件包括微处理器。
同样,安装部件还被有利地配置为只要初始设备主管理件的启动阶段和新设备主管理件的启动阶段没有完成,就暂时使所有其他设备主件不操作。
仍然在该变型实施例(改变设备主管理件)的情况下,安装部件可以包括启动存储器和可编程存储器,该启动存储器被配置为存储在片上系统的第一启动(冷启动)期间仅能够由初始设备主管理件执行的启动程序,该可编程存储器被配置为存储新设备主管理件的启动程序。
仍然在该变型实施例的情况下,其中改变了设备主管理件,配置部件可以再次包括输入,该输入被配置为接收至少包含表示初始配置图的指令的用户程序,该程序存储器也旨在存储用户程序,并且分派部件再次包括第一设备主管理件,该第一设备主管理件被配置为在其启动阶段的结束处执行用户程序,以便实现初始配置图。
不管刚刚已经揭露的变型实施例(在片上系统的配置阶段期间设备主管理件的改变或不改变)如何,还可能的是,用户在片上系统的实际操作阶段期间(也就是说,在执行其用户程序期间)改变设备主管理件。
更具体地,考虑到这一点,第一设备主管理件(其是在片上系统的配置阶段的结束处用作管理器的第一设备主管理件)在已经允许实现初始配置图之后还被配置为在由处理部件执行用户程序期间将第二设备主件指定为新设备主管理件,然后第一设备主件被配置为失去其作为设备主管理件的质量。
如下文将更详细地看出,可能的是提供被称为管理器寄存器的寄存器,该寄存器旨在包含当前设备主管理件的标识信息片段。并且,然后通过当前设备主管理件将另一设备主件指定为设备主管理件可以有利地通过由当前设备主管理件将新设备主件的标识信息片段写入该管理器寄存器中而被执行,然后该新设备主件将成为设备主管理件。并且,由于管理器寄存器不再包括先前的设备主管理件的标识信息片段,因此先前的设备主管理件实际上已经失去了其作为设备主管理件的质量。
此外,在一些情况下,很有可能的是,在用户程序的执行期间可能多次改变设备主管理件。
这种改变可以在片上系统的操作期间被决定,或是可以在片上系统的制造期间被固定。
改变的数目也可以是被固定的。
换句话说,并且根据一个实施例,任何新设备主管理件依次可以被配置为指定新设备主管理件,并且然后失去其作为设备主管理件的质量。
提供设备主管理件的切换的实施例可以被独立地考虑,或与前述或以下实施例中的至少一个组合地考虑。
因此,当该实施例被独立地考虑时,根据另一方面,提出了一种片上系统,该片上系统包括数个设备主件、数个从资源、被耦合在设备主件与从资源之间并且能够在设备主件与从资源之间路由事务的互连电路,以及至少被配置为允许片上系统的用户在该片上系统内实现该系统的至少一个配置图的处理部件,处理部件包括安装部件,安装部件包括来自设备主件的被称为设备主管理件的设备主件,该设备主管理件被配置为允许实现配置图并且能够指定新设备主管理件,从而失去其设备主管理件的质量。
现在,将更详细地说明定义配置图的配置信息片段集合。
如先前所看出,在非常简单的情况下,有可能的是,该集合仅包含设备主件的标识信息片段。
然而,其他配置信息片段可以使该集合完整。
因此,根据一个实施例,针对至少一个从资源,定义配置图的配置信息片段集合还可以包括不可访问性信息片段,该不可访问性信息片段旨在指示该从资源不能够由任何设备主件访问。
实际上,很有可能的是,在一些应用中,用户决定从资源绝对不应被任何设备主件使用。
根据又一实施例,针对每个非不可访问的从资源,定义配置图的配置信息片段集合还可以包括过滤信息片段,该过滤信息片段旨在仅基于设备主件的标识信息片段来指示该从资源是可以由任何设备主件访问还是只可以由一个或多个设备主件访问。
换句话说,利用该过滤信息片段,可能启用或禁用对设备主件的标识信息片段的过滤。因此,如果过滤被启用,则这意味着从资源只能由一个或多个设备主件访问。
因此,不管附加到事务的标识信息片段如何,如果过滤被禁用,则这意味着从资源可以由任何设备主件访问,但是当然规定了其他访问约束将不被应用,如下文将更详细地看出的。
换句话说,如果没有其他访问约束被应用并且过滤被禁用,则从资源可以由任何设备主件访问。
在该过滤被启用的情况下,然后数个其他配置信息片段被有利地提供。
因此,定义配置图的配置信息片段集合可以从而针对每个非不可访问的从资源包括:
-第一访问信息片段,旨在指示在过滤信息片段指示从资源只能由一个或多个设备主件访问的情况下,该从资源可以由具有相同标识信息片段的一个或多个设备主件访问。
换句话说,在这种情况下,从资源只可以由仅包括该标识信息片段的事务访问。
并且当然,配置信息片段集合包括这些对应的标识信息片段。
仍然在过滤信息片段指示从资源只能由一个或多个设备主件访问的情况下,然后针对每个非不可访问的从资源,定义配置图的配置信息片段还可以包括:
-第二访问信息片段,旨在指示该从资源可以由具有不同标识信息片段的设备主件访问。
例如对于内部存储部件或例如对于旨在被耦合到外部存储部件的存储接口而言可能是这种情况。
并且,在该情况下,配置信息片段集合当然包括对应设备主件的标识信息片段的列表。
然而,即使一些从资源可以由具有不同标识信息片段的设备主件访问,也有可能的是,从这些从资源中,这些从资源中的至少一个从资源不能同时由数个设备主件访问,特别是以便避免冲突。
因此,有利地规定了,针对可以由列表的设备主件访问的从资源中的至少一个从资源,定义配置图的配置信息片段集合还包括:
-第三信息片段,旨在指示从资源中的至少一个从资源一次只可以由一个设备主件访问,
-希望访问该从资源的设备主件然后被配置为使用信号标。
换句话说,希望访问该从资源的列表的设备主件在能够访问该从资源之前,必须首先“获取”信号标。如果信号标不可用,则设备主件将无法访问该从资源,并且必须等待信号标变得可用。
此外,为设备主件和从资源定义安全模式和/或特权模式是特别有利的。
安全模式或特权模式的概念是本领域的技术人员众所周知的。
例如,针对处于安全模式的处理器,专用操作系统(OS)可以与在非安全模式下不可访问的资源一起使用。
在特权模式下,设备可以从特权权利中受益,以用于访问将不具有不在特权模式下的其他设备的资源。
因此,根据一个实施例,针对每个非不可访问的从资源,定义配置图的配置信息片段集合还可以包括安全性信息片段,该安全性信息片段旨在指示该从资源在安全模式下是否能够由设备主件访问。
针对每个非不可访问的从资源,定义配置图的配置信息片段集合还可以包括特权信息片段,该特权信息片段旨在指示该从资源在特权模式下是否能够由设备主件访问。
在所有上文中,过滤概念和配置信息片段集合被应用于任何从资源,而不管其性质如何。
因此,这种情况特别地应用于外围设备。
因此,例如出于安全性和/或安全原因,特别可能在特定的执行上下文中隔离外围设备。
但这种情况也特别应用于外围设备特征。
作为结果,因此有利地能够特别地通过外围设备特征执行过滤。
并且在此再次,例如出于安全性和/或安全原因,特别可能在特定的执行上下文中隔离在外围设备内的特征。
此外,针对每个设备主件,定义配置图的配置信息片段集合除了其标识信息片段之外这次还可以包括旨在指示该设备主件是否处于安全模式的安全性信息片段。
同样,针对每个设备主件,定义配置图的配置信息片段集合除了其标识信息片段之外还可以包括旨在指示该设备主件是否被配置为处于特权模式的特权信息片段。
第一设备主管理件继而优选地被配置为在其启动阶段的结束处处于安全模式和特权模式。
任何从资源都可以可访问地被读出或写入。
然而,该读出或写入访问可以根据上文陈述的各种配置信息片段而被约束。
然而可能的是,针对从资源中的至少一些从资源定义被称为公共访问(“公共读出启用”)信息的信息,该信息允许任何设备主件对该从资源具有读出访问。
如上文所看出,可能的是,通过修改至少一个配置信息片段来修改配置图。然而还有可能的是,针对从资源中的至少一些从资源和设备主件中的至少一些设备主件,定义配置图的配置信息片段集合还包括锁定信息片段,该锁定信息片段旨在指示该至少一些从资源和该至少一些设备主件的配置信息片段是否可以被修改。
如上文所指示,分派部件包括第一设备主管理件。
然而,根据一个实施例,分派部件还包括:
-配置寄存器集合,被分配给每个从资源和每个设备主件,以及
-配置控制器,被配置为在第一设备主管理件的控制下,利用配置信息片段集合来更新配置寄存器集合的内容。
并且,被分配给从资源的配置寄存器集合有利地旨在存储上文被定义并且被分配给该从资源的各种配置信息片段。
此外,被分配给每个设备主件的配置寄存器集合旨在存储被分配给该设备主件的标识信息片段和上文定义的安全性和/或特权类型的配置信息片段。
如上文所指示,处理部件可以被配置为使用用户程序来修改初始配置图,在实现用户程序之后并且因此实现配置图并且可能地再次修改任何旧配置图。
并且,在这方面,仅具有设备主管理件的质量的设备主件有利地被配置为修改配置图。
更具体地,并且根据一个实施例,为了修改配置图,设备主管理件被配置为控制配置控制器,以使得其利用定义将要实现的新配置图的配置信息片段集合来更新配置寄存器的内容。
现在关于在设备主件与从资源之间传达的事务,根据一个实施例,由设备主件发出的每个事务包括寻址字段,该寻址字段的内容旨在寻址接收该事务的从资源,并且寻址字段的内容不属于配置信息片段集合。
实际上,如上文所指示,寻址字段的内容不干预配置图的定义。
根据一个实施例,处理部件还包括添加部件,这些添加部件被配置为向由设备主件发出的每个事务至少添加该设备主件的标识信息片段,该标识信息片段不属于事务的寻址字段。
添加部件还被有利地配置为如果安全性信息片段和/或特权信息片段、或安全性信息片段和/或特权信息片段中的一个信息片段尚未出现在由设备主件发出的事务中,则向由设备主件发出的每个事务添加安全性信息片段和/或特权信息片段。
实际上,一些设备主件已经可以发出包含表示其安全和/或特权模式的位的事务。并且在这种情况下,显然没有必要使添加部件实行这种添加。
根据一个实施例,针对每个设备主件,添加部件包括基本管理单元,该基本管理单元被配置为访问被分配给该设备主件的标识信息片段并且可选地访问安全性信息片段和/或特权信息片段,并且基本管理单元被配置为向由设备主件发出的任何事务添加该标识信息片段并且可选地访问安全性信息片段和/或特权信息片段。
被分配给每个设备主件的本地单元中的添加部件的这种“分散”允许片上系统实现更大同质性,并且如果必须的话,允许容易地添加设备主件而不必修改其他基本管理单元。
被分配给设备主件的每个基本管理单元通过专用链路至少优选地被连接到被分配给该设备主件的配置寄存器集合。
换句话说,不使用互连电路的通信总线,而是使用专用链路,例如集成电路的金属导轨。
这简化了片上系统的生产和编程。
根据一个实施例,至少一个配置信息片段旨在被附加到每个事务,并且处理部件包括验证部件,这些验证部件被配置为验证来自设备主件并且旨在用于从资源的事务是否被授权使用被附加到事务的至少一个配置信息片段来访问该从资源。
特别地,验证部件被配置为使用被附加到事务的至少一个配置信息片段来验证来自设备主件并且旨在用于从资源的事务是否被授权访问该从资源。
在这方面,术语“使用”应在非常广泛的意义上理解。实际上,即使过滤信息片段被禁用(意味着任何设备主件都可以访问从资源,但受制于其他访问约束),该过滤信息片段也基于标识信息片段、并且因此后者被使用。
根据另一实施例,有可能的是,验证部件被配置为至少使用被附加到事务的安全性信息片段和特权信息片段来验证来自设备主件并且旨在用于从资源的事务是否被授权访问该从资源。
因此,例如如果过滤信息片段被禁用,则有可能的是,对从资源的访问在安全和/或特权模式中被调节。
根据另一实施例,验证部件被配置为使用被附加到事务的(一个或多个)配置信息片段以及被分配给该从资源的配置信息片段集合中的其他配置信息片段中的至少一些配置信息片段来验证来自设备主件并且旨在用于从资源的事务是否被授权访问该从资源。
验证部件有利地被配置为在互连电路的下游执行验证。
实际上,在互连电路的下游而不是上游再次执行验证允许实现同质性,并且容易地允许以较容易的方式添加从资源,或甚至允许具有寄存器或位精确粒度。
为了完成实现该同质性并且在必要时添加从资源的该容易性,针对每个从资源,验证部件有利地包括基本验证模块,该基本验证模块被配置为访问被分配给该从资源的配置信息片段集合。
因此,在此,再次,将验证部件分散到本地模块中。
被分配给从资源的每个基本验证模块再次有利地通过专用链路例如通过金属导轨被连接到被分配给该另一从资源的配置寄存器集合。
如上文所指示,通过其在管理器寄存器中所包含的标识信息片段,当前管理器设备被标识。
因此,根据一个实施例,处理部件还包括辅助验证模块,该辅助验证模块被分配给控制器,并且辅助验证模块被配置为禁止具有与在管理器寄存器中所包含的标识信息片段不同的标识信息片段的任何设备主件访问控制器。
在由设备主件发出并且旨在用于从资源的读出事务未被授权访问该从资源的情况下,验证部件还被配置为向设备主件返回访问拒绝指示(例如具有逻辑值“0”的位),并且向设备主管理件返回包含从资源的标识符、访问类型的指示(在此是读出访问)和在该拒绝事务的起源处的设备主件的标识信息片段的非法访问通知。
此外,在由设备主件发出并且旨在用于从资源的写入事务未被授权访问该从资源的情况下,验证部件被配置为忽略该事务并且还向设备主管理件返回包含该从资源的标识符、访问类型的指示(在此是写入访问)和在该拒绝事务的起源处的设备主件的标识信息片段的非法访问通知。
如上文所看出,有可能的是,来自设备主件至少存在一个设备主件,该设备主件具有从端口和主端口(例如USB控制器)以及被分配给从端口的配置信息片段和被分配给主端口的配置信息片段。
还有可能的是,具有从端口和主端口的该设备主件首先由第一微处理器控制,然后其次由第二微处理器控制,这两个微处理器具有不同的配置信息片段。并且,有利的是,当处理器控制这种设备主件时,输入端口的配置信息片段在输出端口处被复制。
因此,根据有利实施例,处理部件包括继承部件,这些继承部件被配置为在控制时并通过考虑继承规则来用被分配给从端口的同源配置信息片段替换被分配给主端口的配置信息片段中的至少一些,或使配置信息片段保持被分配给主端口。
因此,当另一微处理器控制这种设备主件时,继承部件可以通过简单的切换来允许(并且如果继承规则允许简单的切换,则)向主端口授予从端口的与另一微处理器的配置信息片段对应的配置信息片段。
然而,在控制外围设备的设备主件本身不处于安全模式的情况下,继承规则禁止例如在安全模式下为外围设备定义端口。
提供继承部件的实施例可以被独立地考虑,或与前述或以下实施例中的至少一个实施例组合地考虑。
因此,当该实施例被独立地考虑时,根据另一方面,提出了一种片上系统,该片上系统包括数个设备主件(这些设备主件包括来自设备主件的至少一个设备主件,该至少一个设备主件具有从端口和主端口)、数个从资源、被耦合在设备主件与从资源之间并且能够在设备主件与从资源之间路由事务的互连电路以及至少被配置为允许片上系统的用户在片上系统内实现该系统的至少一个配置图,该至少一个配置图包括配置信息片段。
根据该方面,配置信息片段被分配给从端口,并且配置信息片段被分配给主端口,并且处理部件包括继承部件,继承部件被配置为基于控制并且通过考虑继承规则来利用被分配给从端口的同源配置信息片段替换被分配给主端口的配置信息片段中的至少一些配置信息片段,或者使配置信息片段保持被分配给主端口。
因此,更详细地并且根据可能的实施例,继承部件包括:
-在被分配给主端口的基本管理单元内的可控开关的集合,可控开关被连接到被分配给从端口的配置寄存器中的至少一些配置寄存器和被分配给主端口的同源配置寄存器,以及
-控制部件,被配置为控制开关的集合,以便选择被分配给主端口的对应配置寄存器或被分配给从端口的对应配置寄存器。
根据另一实施例,有可能的是,片上系统包括:
-来自设备主件的数个微处理器,
-来自从资源的至少一个从资源,该至少一个从资源被配置为生成至少一个中断信号,该中断信号旨在用于被分配给该从资源的微处理器中的一个微处理器,
-数个中断线,分别被连接到微处理器和至少一个从资源,并且数个中断线能够传达中断信号(这些中断线当然可以是金属导轨)。
在该情况下,处理部件有利地包括中断过滤部件,这些中断过滤部件被配置为仅在被连接到微处理器的中断线上路由由从资源发出的中断信号,该中断信号被分配给该微处理器。
这有利地允许通过观察中断信号来避免侦查所考虑的微处理器的活动。
提供中断过滤部件的实施例可以被独立地考虑,或与前述或以下实施例中的至少一个实施例组合地考虑。
因此,当该实施例被独立地考虑时,根据另一方面,提出了一种片上系统,该片上系统包括数个设备主件、数个从资源、被耦合在设备主件与从资源之间并且能够在设备主件与从资源之间路由事务的互连电路。
根据该另一方面,片上系统包括:
-来自设备主件的数个微处理器,
-来自从资源的至少一个从资源,该至少一个从资源被配置为生成至少一个中断信号,该中断信号旨在用于被分配给该从资源的微处理器中的一个微处理器,
-数个中断线,分别被连接到微处理器和至少一个从资源并且能够传达中断信号(这些中断线当然可以是金属导轨),以及
-中断过滤部件,被配置为仅在被连接到微处理器的中断线上路由由从资源发出的中断信号,该中断信号被分配给该微处理器。
中断过滤部件有利地至少部分地被并入到被分配给从资源的基本验证模块中。
并且,根据一个实施例,中断过滤部件包括
-在基本验证模块中,数个可控开关,被连接在被配置为提供中断信号的从资源的输出与分别被连接到微处理器的中断线之间,以及
-控制部件,被配置为闭合被连接在输出端与被连接到被分配给从资源的微处理器的中断线之间的开关,以及断开其他一个或多个开关。
根据另一实施例,片上系统可以包括:
-来自设备主件的第一微处理器和第二设备主件(例如第二微处理器或硬件状态机),该第一微处理器被配置为在片上系统的第一启动期间(冷启动)启动以便允许实现配置图,以及
-恢复部件,被配置为在从片上系统的待机模式退出的情况下,允许第二设备主件代替第一微处理器恢复配置图。
这种实施例有利地允许通过例如具有较低消耗的微处理器代替使用可能更慢和/或具有较高消耗的第一微处理器来恢复配置图。
提供恢复部件的实施例可以被独立地考虑,或与前述或以下实施例中的至少一个实施例组合地考虑。
因此,当该实施例被独立地考虑时,根据另一方面,提出了一种片上系统,该片上系统包括数个设备主件、数个从资源、被耦合在设备主件与从资源之间并且能够在设备主件与从资源之间路由事务的互连电路以及至少被配置为允许片上系统的用户在该片上系统内实现该系统的至少一个配置图的处理部件。
根据该另一方面,片上系统包括:
-来自设备主件的第一微处理器和第二设备主件(例如第二微处理器或硬件状态机),该第一微处理器被配置为在片上系统的第一启动期间(冷启动)启动以便允许实现配置图,以及
-恢复部件,被配置为在从片上系统的待机模式退出的情况下,允许第二设备主件代替第一微处理器恢复配置图。
更具体地,根据一个实施例,在片上系统进入待机模式之前,第一微处理器被配置为设备主管理件,并且恢复部件包括:
-第一备份存储器,旨在对将要恢复的配置图进行备份,
-第二程序存储器,被配置为基于第一微处理器的控制存储能够由第二设备主件执行的恢复程序,
-安全存储部件,例如一个或多个硬件寄存器,被配置为将恢复程序的签名以及恢复程序的开始地址存储在第二程序存储器中,
-唤醒源,旨在当片上系统从待机模式退出时,向第二设备主件生成唤醒信号,以及
-状态机,被配置为在存在唤醒信号的情况下,将第一微处理器保持在待机状态,验证签名,并且在成功验证的情况下,暂时向第二设备主件授予设备主管理件的质量并授权第二设备主件执行恢复程序,然后在恢复完成时从第二设备主件撤消设备主管理件的质量并且允许第一微处理器退出待机模式,以及向第一微处理器返回其设备主管理件的质量。
根据又一实施例,片上系统可以包括来自设备主件的测试访问端口,该测试访问端口旨在被耦合到外部调试工具,该测试访问端口被分配给测试标识信息片段,并且任何从资源被配置为在验证被附加到事务的安全性信息片段和特权信息片段之后,接受接收包括该测试标识信息片段的事务。
提供外部调试工具的实施例可以被独立地考虑,或与前述或以下实施例中的至少一个实施例组合地考虑。
因此,当该实施例被独立地考虑时,根据另一方面,提出了一种片上系统,该片上系统包括数个设备主件、数个从资源、被耦合在设备主件与从资源之间并且能够在设备主件与从资源之间路由事务的互连电路。
根据该另一方面,片上系统包括来自设备主件的测试访问端口,该测试访问端口旨在被耦合到外部调试工具,该测试访问端口被分配给测试标识信息片段,并且任何从资源被配置为在验证被附加到事务的安全性信息片段和特权信息片段之后,接受接收包括该测试标识信息片段的事务。
并且,仅设备主管理件被优选地配置为将测试标识信息片段仅分配给测试访问端口。
根据另一方面,提出了一种用于管理片上系统的操作的方法,片上系统包括数个设备主件、数个从资源、被耦合在设备主件与从资源之间并且能够在设备主件与从资源之间路由事务的互连电路,方法包括:
-配置阶段,包括:
通过配置信息片段集合来定义至少一个配置图,该集合包括被分配给每个设备主件的至少一个标识信息片段,该配置信息片段集合允许定义至少一个设备主件对从资源中的至少一些从资源的分配,以及
在片上系统内实现至少一个配置图,以及
-操作阶段,包括至少向由对应设备主件发出的所有事务添加这些标识信息片段,并且在不使用这些配置信息片段集合的情况下寻址从资源。
根据一个实施例,从资源属于至少由以下项形成的组:外围设备、外围设备的特征、片上系统内部的存储部件、片上系统内部且旨在被耦合到片上系统外部的存储部件的存储接口。
根据一个实施例,至少一个设备主件包括微处理器。
根据一个实施例,设备主件包括微处理器并且设备主件能够由这些微处理器控制,与微处理器的标识信息片段相同的标识信息片段被分配给能够由微处理器控制的设备主件中的一些设备主件。
根据一个实施例,能够由微处理器控制的至少一个设备主件被分配了与微处理器的标识信息片段不同的标识信息片段。
根据一个实施例,能够由微处理器控制的至少一个设备主件包括能够发出事务的输出端口以及能够接收事务的输入端口,并且该输入端口被视为从资源,并且输出端口被视为设备主件。
根据一个实施例,配置阶段包括在片上系统内实现形成配置图的初始配置图。
根据一个实施例,配置阶段包括在片上系统内实现具有配置信息片段初始集合的初始配置图,并且方法包括修改该初始集合的至少一个配置信息片段的值,以便获得定义配置图的配置信息片段集合。
根据一个实施例,配置阶段包括从设备主件指定被称为设备主管理件的第一设备主件,该第一设备主管理件响应于片上系统的第一启动而执行启动阶段,在该启动阶段的结束处,该第一设备主管理件授权实现初始配置图。
根据一个实施例,第一设备主管理件的指定是固定的,并且该指定是由片上系统的生产引起的。
根据一个实施例,第一设备主管理件的指定是可编程的。
根据一个实施例,只要第一设备主管理件尚未完成其启动阶段,就暂时使所有其他设备主件不操作。
根据一个实施例,配置阶段包括在片上系统的第一启动期间存储仅能够由第一设备主管理件执行的启动程序。
根据一个实施例,配置阶段包括接收至少包含表示初始配置图的指令的用户程序,存储该用户程序,第一设备主管理件在其启动阶段的结束处执行用户程序以便实现初始配置图。
根据一个实施例,配置阶段包括从设备主件指定被称为初始设备主管理件的设备主件,该设备主件在片上系统的第一启动期间执行启动阶段,在该启动阶段的结束处,该设备主件授权启动被指定为新设备主管理件并且形成第一设备主管理件的另一设备主件,从而至少允许在其启动阶段的结束处至少实现初始配置图。
根据一个实施例,只要初始设备主管理件的启动阶段和新设备主管理件的启动阶段没有完成,就暂时使所有其他设备主件不操作。
根据一个实施例,配置阶段包括在片上系统的第一启动期间存储仅能够由初始设备主管理件执行的启动程序并且存储新设备主管理件的启动程序。
根据一个实施例,配置阶段包括接收至少包含表示初始配置图的指令的用户程序,存储该用户程序,第一设备主管理件在其启动阶段的结束处执行用户程序以便实现初始配置图。
根据一个实施例,操作阶段包括通过第一设备主管理件在其已经允许实现初始分配图之后将第二设备主件指定为新设备主管理件,然后第一设备主件失去其作为设备主管理件的质量。
根据一个实施例,在操作阶段期间,任何新设备主管理件相继指定新设备主管理件,并且然后失去其作为设备主管理件的质量。
根据一个实施例,针对至少一个从资源,配置图的配置信息片段集合还包括不可访问性信息片段,该不可访问性信息片段指示该从资源是否不能够由任何设备主件访问。
根据一个实施例,针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括过滤信息片段,该过滤信息片段指示该从资源是否可以由任何设备主件访问或仅可以由一个或多个设备主件访问。
根据一个实施例,针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括:
-第一访问信息片段,在过滤信息片段指示从资源只可以由一个或多个设备主件访问的情况下,指示该从资源可以由具有相同标识信息片段的一个或多个设备主件访问,以及
-对应标识信息片段
根据一个实施例,定义配置图的配置信息片段集合还针对每个非不可访问的从资源包括:
-第二访问信息片段,在过滤信息片段指示从资源只可以由一个或多个设备主件访问的情况下,指示该从资源可以由具有不同标识信息片段的设备主件访问,以及
-对应设备主件的标识信息片段的列表。
根据一个实施例,针对可以由列表中的设备主件访问的从资源中的至少一个从资源,定义配置图的配置信息片段集合还包括第三信息片段,该第三信息片段指示从资源中的至少一个从资源一次只可以由一个设备主件访问,该设备主件希望在操作阶段期间使用信号标访问该从资源。
根据一个实施例,针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括安全性信息片段,该安全性信息片段指示该从资源在安全模式中是否能够由设备主件访问。
根据一个实施例,针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括特权信息片段,该特权信息片段指示该从资源在特权模式中是否能够由设备主件访问。
根据一个实施例,针对每个设备主件,定义配置图的配置信息片段集合除了其标识信息片段之外还包括安全性信息片段,该安全性信息片段指示该设备主件是否被配置为处于安全模式。
根据一个实施例,针对每个设备主件,定义配置图的配置信息片段集合除了其标识信息片段之外还包括特权信息片段,该特权信息片段指示该设备主件是否被配置为处于特权模式。
根据一个实施例,方法包括在第一设备主管理件的启动阶段的结束处处于安全模式和特权模式的第一设备主管理件的配置。
根据一个实施例,针对从资源中的至少一些从资源和设备主件中的至少一些设备主件,定义配置图的配置信息片段集合还包括锁定信息片段,该锁定信息片段指示该至少一些从资源和该至少一些设备主件的配置信息片段是否可以被修改。
根据一个实施例,方法包括在第一设备主管理件的控制下,更新被分配给每个从资源和每个设备主件的配置信息片段。
根据一个实施例,操作阶段包括执行用户程序,以在实现用户程序之后修改初始配置图,并且相应地实现配置图并且可能地再次修改任何旧配置图。
根据一个实施例,仅具有设备主管理件的质量的设备主件被授权修改配置图。
根据一个实施例,由设备主件发出的每个事务包括寻址字段,该寻址字段的内容寻址接收该事务的从资源,并且寻址字段的内容不属于配置信息片段集合。
根据一个实施例,由设备主件发出的每个事务包括寻址字段,该寻址字段的内容寻址接收该事务的从资源,并且操作阶段包括至少向由设备主件发出的每个事务添加该设备主件的标识信息片段,该标识信息片段不属于事务的寻址字段。
根据一个实施例,操作阶段包括如果安全性信息片段和/或特权信息片段、或这两个信息片段中的一个信息片段尚未出现在由设备主件发出的事务中,则向由设备主件发出的每个事务添加安全性信息片段和/或特权信息片段。
根据一个实施例,至少一个配置信息片段被附加到每个事务,并且操作阶段包括验证来自设备主件并且旨在用于从资源的事务是否被授权访问该从资源,验证包括使用被附加到事务的至少一个配置信息片段。
根据一个实施例,验证包括至少使用被附加到事务的标识信息片段。
根据一个实施例,验证包括至少使用被附加到事务的安全性信息片段和特权信息片段。
根据一个实施例,验证包括使用被附加到事务的(一个或多个)配置信息片段以及被分配给该从资源的配置信息片段集合中的其他配置信息片段。
根据一个实施例,验证在互连电路的下游被执行。
根据一个实施例,验证包括根据分别被分配给这些从资源的配置信息片段在从资源处所执行的本地验证。
根据一个实施例,在由设备主件发出并且旨在用于从资源的读出事务未被授权访问该从资源的情况下,方法还包括向设备主件返回访问拒绝指示,并且向设备主管理件返回包含该从资源的标识符、访问类型的指示和在该拒绝事务的起源处的设备主件的标识信息片段的非法访问通知。
根据一个实施例,在由设备主件发出并且旨在用于从资源的写入事务未被授权访问该从资源的情况下,方法还包括忽略该事务的事实,并且向设备主管理件返回包含该从资源的标识符、访问类型的指示和在该拒绝事务的起源处的设备主件的标识信息片段的非法访问通知。
根据一个实施例,方法包括:当前设备主管理件的标识信息片段的存储;以及辅助验证,包括在当前设备主管理件的标识信息片段与希望修改至少一个配置信息片段的设备主件的标识信息片段之间的比较和对任何设备主件修改至少一个配置信息片段的禁止,该任何设备主件具有与设备主管理件的标识信息片段不同的标识信息片段。
根据一个实施例,在设备主件之间,至少一个设备主件具有从端口和主端口,配置信息片段被分配给从端口,并且配置信息片段被分配给主端口,并且方法还包括基于控制并且通过考虑继承规则,用被分配给从端口的同源配置信息片段替换被分配给主端口的配置信息片段中的至少一些配置信息片段,或使配置信息片段保持被分配给主端口。
根据一个实施例,
-数个微处理器在设备主件之间,并且至少一个从资源生成至少一个中断信号,该中断信号旨在被分配给该从资源的微处理器中的一个微处理器,
-数个中断线分别被连接到微处理器和至少一个从资源,并且数个中断线能够传达中断信号,
-并且方法包括仅在被连接到微处理器的中断线上路由由从资源发出的中断信号,该中断信号被分配给微处理器。
根据一个实施例,
-第一微处理器被配置为在片上系统的第一启动期间启动,以便允许实现配置图,
-方法包括在从片上系统的待机模式退出的情况下,通过第二设备主件来恢复配置图。
根据一个实施例,在进入待机模式之前,第一微处理器是设备主管理件,恢复包括:
-对将要恢复的配置图进行备份,
-基于第一微处理器的控制,存储能够由第二设备主件执行的恢复程序,
-安全地存储恢复程序的签名以及恢复程序的起始地址,
-当片上系统从待机模式退出时,向第二设备主件生成唤醒信号,以及
-在存在唤醒信号的情况下,将第一微处理器保持在待机状态中,验证签名,并且在成功验证的情况下,暂时向第二设备主件分派设备主管理件的质量并且通过第二设备主件执行恢复程序,然后在恢复完成时对第二设备主件撤消设备主管理件的质量,使第一微处理器从待机模式退出,并且向第一微处理器分派其设备主管理件的质量。
根据一个实施例,方法包括将测试标识信息片段分配给形成设备主件的一部分并且旨在被耦合到外部调试工具的测试访问端口,并且在验证被附加到事务的安全性信息片段和特权信息片段之后,任何从资源接受接收包括该测试标识信息片段的事务。
根据一个实施例,仅设备主管理件将测试标识信息片段仅分配给测试访问端口。
根据一个实施例,片上系统形成微控制器或微处理器。
附图说明
在检查非限制性实施例和附图的详细描述后,本描述的其他优点和特征将显现:
图1图示了片上系统;
图2图示了片上系统的处理部件;
图3图示了配置图的静态实现方式;
图4图示了配置图的动态实现方式;
图5图示了实现初始配置图的设备主管理件;
图6图示了设备主管理件的固定指定可以在片上系统的生产期间进行;
图7图示了指定设备主管理件的指定寄存器的用户编程;
图8图示了当第一设备主管理件处于其启动阶段中时,暂时使得所有其他设备主件都不操作;
图9图示了用于实现初始配置图的安装部件;
图10图示了安装部件,这些安装部件被配置为在初始设备主管理件和新设备主管理件的启动阶段期间使所有其他设备主件不操作;
图11图示了在实现配置图之后在用户程序的执行期间改变设备主管理件;
图12图示了定义配置图的配置信息片段集合的示例;
图13图示了由配置控制器控制配置图的更新设备主管理件,该配置控制器进而更新寄存器集合的内容;
图14图示了事务的内容的示例;
图15图示了添加部件,添加部件被配置为向由设备主件发出的每个事务添加设备主件的标识信息片段;
图16图示了被配置为在互连电路的下游执行验证的验证部件;
图17图示了辅助验证模块,该辅助验证模块验证到达配置控制器的事务是被设备主管理件发出的;
图18图示了具有从端口和主端口的设备主件;
图19图示了从资源外围设备,该从资源外围设备被配置为生成旨在用于被分配给从资源的微处理器中的一个微处理器的中断信号;
图20图示了包括第一微处理器并且包括第二微处理器的设备主件,该第一微处理器被配置为在片上系统的冷启动期间启动以便允许实现配置图SCH;
图21图示了恢复部件,这些恢复部件包括旨在对将要恢复的配置图进行备份的第一备份存储器以及被配置为基于第一微处理器的控制而存储能够由第二微处理器执行的恢复程序的第二程序存储器;
图22图示了在恢复部件中所包括的状态机;
图23图示了旨在被耦合到外部调试工具的片上系统的测试访问端口;以及
图24图示了被配置为仅将测试标识信息片段分配给测试访问端口的设备主管理件。
具体实施方式
在图1中,参考MCU指定在此形成微控制器的片上系统,尽管该示例不是限制性的。
在此,片上系统MCU包括数个设备主件CPU1、CPU2、LM3…LMj…LMk。
在该示例中,设备主件CPU1和CPU2是微处理器,并且其他设备主件可以是例如直接存储器访问类型(DMA)的设备主件,或例如是USB控制器或甚至是PCI快速类型的设备主件,而该示例列表并未穷举。
片上系统MCU还包括数个从资源IMM1、IMTM2、PH3、PH4、PH5、PH60和PH61。
通常,从资源属于至少由以下项形成的组:外围设备、外围设备的特征、片上系统MCU内部的存储部件、片上系统内部且旨在被耦合到片上系统外部的存储部件的存储接口。
因此,在所图示的示例中,从资源IMM1是用于片上系统的存储部件。
术语“存储部件”在此以一般的方式被理解,并且例如并入完整的存储器或然后例如并入一个或多个存储区域。
从资源IMTM2在此是内部存储接口,其旨在被耦合到外部存储部件EXMM,例如DRAM存储器。
从资源PH3、PH4和PH5是外围设备,例如UART型外围设备、I2C控制器、SPI控制器。
在此,附图标记PH6指定实时时钟(RTC)设备,其包括例如旨在提供时钟信号的模块PH60和旨在例如提供警报的模块PH61。
在该情况下,作为实时时钟设备PH6的特征的模块PH60和PH61被视为从资源。
设备主件和从资源的结构是常规的并且本身是已知的。
此外,片上系统MCU包括互连电路INTC,该互连电路INTC能够在设备主件与从资源之间路由事务。
这种互连电路(其通常是多层互连电路)的结构以及允许在互连电路内部进行事务的交换和路由的协议是本领域的技术人员众所周知的。
这种情况例如可以特别地参考:
-由Venkateswara Rao和其他人于2014年4月发表在国际计算机应用学报(International Journal of Computer Applications),(0975-8887)第91卷第5期的名称为“用以改善MPSoC的实时计算性能的基于AMBA总线的通信架构的框架(A Frame work onAMBA bus based Communication Architecture to improve the Real Time ComputingPerformance in MPSoC)”的文章,或
-由A.Gerstlauer于2015年制作的这些互连电路的一般介绍,该一般介绍可在因特网地址http://users.ece.utexas.edu/~gerstl/ee382v_f14/lectures/lecture_12.pdf处获得。
此外,以指示性但非限制性的方式,例如,ARM公司在参考NIC-400(R0p3版本)下销售的互连电路可以被使用。
片上系统还包括与每个设备主件和每个从资源相关联的配置寄存器集合,该集合包括旨在分别存储配置信息片段的数个配置寄存器,其含义将在下文更详细地被解释。
参考RGCM1指定与设备主件CPU1相关联的配置寄存器集合。
参考RGCM2指定与设备主件CPU2相关联的配置寄存器集合。
参考RGCM3指定被分配给设备主件LM3的配置寄存器集合。
参考RGCMj指定被分配给设备主件LMj的配置寄存器集合。
此外,在此,片上系统包括设备主件LMk,例如能够由微处理器(例如微处理器CPU1)控制的USB控制器,并且该设备主件LMk包括能够发出事务的输出端口PS以及能够接收事务的输入端口PE。
然后,输入端口PE被视为从资源,并且输出端口PS被视为设备主件。
因此,参考RGCMk指定被分配给设备主件PS的配置寄存器集合。
参考RGCS1指定被分配给从资源IMM1的配置寄存器集合。
参考RGCS2指定与从资源IMTM2相关联的配置寄存器集合。
参考RGSC3指定与外围设备PH3相关联的配置寄存器集合。
参考RGCS4指定被分配给外围设备PH4的配置寄存器集合。
参考RGCS5指定被分配给外围设备PH5的配置寄存器集合。
参考RGCS60指定被分配给特征PH60的配置寄存器集合。
并且,参考RGCS61指定被分配给特征PH61的配置寄存器集合。
此外,在该示例中,提供了被称为指定寄存器的寄存器RDS,将对其特征进行更详细地讨论,但是,已经可以指示,该寄存器被用于指定具有设备主管理件的质量的设备主件。
此外,被称为管理器寄存器的寄存器RGG(该寄存器的特征也将在下文更详细地被讨论)被用于指定当前设备主管理件,如将在下文更详细地看出,该当前设备主管理件在片上系统MCU的操作期间(也就是说,在此,在用户程序的执行期间)可能被修改。
在此示出了控制器RIFC内的配置寄存器的各种集合。
然而,配置寄存器的各种集合可以位于控制器外部。
片上系统MCU还包括与每个设备主件相关联的基本管理单元RIMU1、RIMU2、RIMU3、RIMUj、RIMUk。
这些基本管理单元的结构和特征可以更详细地被讨论,但是可以说,这些基本管理单元是旨在向由设备主件发出的任何事务添加标识信息片段CID并且可选地添加安全性信息片段和/或特权信息片段的添加部件的部分。
片上系统还包括与每个从资源相关联的基本验证模块RISU1、RISU2、RISU3、RISU4、RISU5、RISU60和RISU61,这些基本验证模块的结构和特征也将在下文更详细地被讨论。
已经可以说,这些基本验证模块是旨在验证旨在用于从资源的事务是否被授权访问该从资源的验证部件的一部分。
各种基本管理单元RIMU和各种基本验证模块RISU通过特定链路(例如金属导轨)分别被连接到对应配置寄存器集合。
虽然基本验证模块RISUi已经在图1中被示出为在对应外围设备的外部,但是很可能的是提供一个或多个外围设备,该一个或多个外围设备具有其对应的基本验证模块,并整合到外围设备本身中。
现在,如果更具体地参考图2,则片上系统MCU包括处理部件MT,这些处理部件尤其被分布在已经参考图1描述的各个元件内并且被配置为允许片上系统的用户在配置阶段PHCFG(步骤20)期间在片上系统内实现由配置信息片段集合定义的配置图SCH,配置信息片段集合将被存储在配置寄存器的各种集合中。
在更详细地讨论这些配置信息片段的构造之前,已经可以注意到,用户具有实现静态或动态配置的可能性。
更具体地,如图3中所图示,处理部件被配置为允许片上系统的用户实现(步骤20)初始配置图SCHI,该初始配置图将形成配置图SCH。
换句话说,根据该变型,一旦初始配置图已经被实现,它在片上系统的使用或操作阶段期间保持有效。
备选地,如图4中所图示,在配置阶段PHCFG期间,用户可能已经由处理部件MT实现(步骤200)初始配置图,该初始配置图具有配置信息片段初始集合,然后通过修改例如该初始集合中的至少一个配置信息片段的值而由处理部件修改(步骤201)初始配置图,以便获得定义新配置图SCH的配置信息片段集合。
处理部件包括安装部件,安装部件包括来自设备主件的被称为第一设备主管理件的第一设备主件。
如图5中所图示,该第一设备主管理件EMG被配置为响应于片上系统的第一启动50或冷启动而执行启动阶段,在该启动阶段的结束处该第一设备主管理件EMG被配置为至少允许实现51初始配置图SCHI。
如图6中示意性地图示,第一设备主管理件EMG的指定可以在片上系统MCU的生产60期间例如通过硬编码固定。
备选地,可能的是,用户使用允许指定第一设备主管理件EMG的可编程指定寄存器RDS。
更具体地,如图7中所图示,在片上系统MCU的提供70期间,用户可以例如通过对OTP型的存储器系列进行编程或不对其进行编程来进行指定寄存器RDS的编程71,从而形成指定寄存器RDS,以便指定设备主管理件EMG,该设备主管理件例如在该示例中是微处理器CPU1。
特别地,为了避免冲突,如图8中所图示,安装部件还被配置为只要第一设备主管理件EMG(在此是微处理器CPU1)尚未完成其启动阶段80,就暂时使所有其他设备主件LM2、LM3、LMj、LMk、CPU2不操作(步骤81)。
当设备主件是微处理器时,可以通过例如将复位信号强制为0(这使该设备主件保持处于待机状态)来使该设备主件不操作。
当其他设备主件是由微处理器控制的设备时,只要处理器本身不操作,这些设备主件当然就不操作。
通过示例的方式,如图9中所图示,除设备主管理件EMG之外,安装部件还包括被配置为在存储步骤91中存储启动程序BPR的启动存储器(启动ROM)BMM,该启动程序在片上系统的第一启动或冷启动期间仅能够由第一设备主管理件CPU1执行(步骤90和92)。
此外,安装部件包括被配置为接收用户程序的输入INP(图1)。例如,该用户程序可以被存储在与输入INP配合的SD卡上。
在步骤94中,用户程序UPR(图9)从输入INP被接收,并且被存储(步骤95)在程序存储器PMM中。
该用户程序UPR至少包含表示初始配置图SCHI的指令。
然后,处理部件包括允许实施初始配置图的分派部件。
在该示例中,分派部件包括第一设备主管理件(例如微处理器CPU1),该第一设备主管理件被配置为在其启动阶段的结束处执行(步骤93)用户程序UPR,以便实现初始配置图。
虽然微处理器(例如微处理器CPU1)已经在此被描述为第一设备主管理件EMG,但是备选地,很可能的是,第一设备主管理件包括硬件逻辑电路。
虽然在配置阶段PHCFG期间仅描述了单个设备主管理件,但是如图10中示意性地图示,可能在该配置阶段期间修改设备主管理件。
更具体地,安装设备然后包括来自设备主件的被称为初始设备主管理件(例如微处理器CPU1)的设备主件,该设备主件被配置为在片上系统的第一启动期间执行启动阶段,在该启动阶段的结束处,该设备主件被配置为授权被指定为新设备主管理件(例如微处理器CPU2)的另一设备主件的启动。
然后,该新设备主管理件形成第一设备主管理件,该第一设备主管理件在其启动阶段的结束处被配置为至少允许实现初始配置图。
初始设备主管理件可以包括微处理器,并且新设备主管理件可以包括另一微处理器。
备选地,初始设备主管理件可以包括硬件逻辑电路,并且新设备主管理件可以包括微处理器。
并且,在此,再次,安装部件被有利地配置为只要初始设备主管理件的启动阶段和新设备主管理件的启动阶段没有完成,就暂时使所有其他设备主件不操作。
作为图10中所图示的示例,在这方面,安装部件包括启动存储器BMM,该启动存储器被配置为存储(步骤100)在片上系统MCU的第一启动或冷启动101期间仅能够由初始设备主管理件CPU1执行的启动程序BPR1。
安装部件还包括程序存储器PMM,该程序存储器被配置为存储新设备主管理件CPU2的启动程序BPR2。
然后,例如经由输入INP提供启动程序BPR2和用户程序UPR的接收,这两个程序被存储(步骤104)在程序存储器PMM中。
在冷启动101期间,初始设备主管理件CPU1执行其启动程序BPR1(步骤102),并且然后授权作为新设备主管理件的微处理器CPU2的启动。
微处理器CPU2在步骤105中执行其启动程序PBR2,然后执行用户程序UPR(步骤106),以便实现初始配置图SCHI。
当然,如上文所指示,在步骤107中,其他设备主件LM2、LM3、LMj和LMk不操作。
虽然先前已经看出可能在配置阶段改变设备主管理件,但是如图11中所图示,还可能在片上系统的操作阶段PHF期间(也就是说,在实现配置图之后执行用户程序期间)改变设备主管理件。
更具体地,在图11中,微处理器CPU1是第一设备主管理件。并且,在用户程序UPR的执行110期间,处理部件MT修改(步骤111)设备主管理件EMG,在该情况下,该设备主管理件成为新设备主管理件CPU2。
当然,可能的是,该新设备主管理件CPU2可以进而指定(步骤112)新设备主管理件,并且然后失去其作为设备主管理件的质量。作为示例,该新设备主管理件可以再次是微处理器CPU1。
在这方面,仅设备主管理件可以指定新设备主管理件。并且,例如,这种情况是通过由当前设备主管理件将新设备主管理件的标识信息片段写入管理器寄存器RGG中来完成的。
从该时刻起,然后旧设备主管理件就失去了其作为设备主管理件的质量。
现在更具体地参考图12,以图示定义配置图SCH的配置信息片段集合的示例。
针对每个设备,配置信息片段集合包括标识信息片段CID。该标识信息片段允许标识来自设备主件的列表的设备主件。
该标识信息片段CID可以例如是数字字。
设备主件的配置信息片段集合也可以包括安全性信息片段SEC(例如位),该安全性信息片段取决于位的逻辑值指示该设备主件是否被配置为处于安全模式。
设备主件的配置信息片段集合也可以包括特权信息片段PRV(例如位),该特权信息片段根据位的逻辑值指示该设备主件是否被配置为处于特权模式。
如果提供了数个级别的特权模式,则该特权信息片段可以包括数个位。最后,可以提供锁定信息片段LKM,例如一个或多个位,取决于(一个或多个)位的逻辑值而指示配置信息片段(例如配置信息片段SEC和PRV)中的至少一个配置信息片段,或标识信息片段CID是否可以被修改。
还可能的是,提供一个或多个锁定位,锁定位允许锁定管理器寄存器RGG的内容,该管理器寄存器指定设备主管理件的标识信息片段。
与设备主件相关联的这些配置信息片段被存储(步骤120)在配置寄存器RGCMi的对应集合中。
关于从资源,与之相关联的配置信息片段集合可以包括例如不可访问性信息片段INAC(例如位),该不可访问性信息片段旨在根据位的逻辑值来指示该从资源不能够由任何设备主件访问。
针对非不可访问的从资源,配置图SCH还包括过滤信息片段IFLT(例如位),该过滤信息片段旨在仅基于设备主件的标识信息片段CID来指示该从资源是可以由任何设备主件访问还是只可以由一个或多个设备主件访问。
因此,例如,如果过滤信息片段具有逻辑值“0”,则这种情况意味着不存在被应用于标识信息片段的过滤,并且因此,从资源可以由任何设备主件访问,但受制于将在下文更详细地看出的任何其他访问约束。
实际上,配置信息片段的这些集合允许将至少一个设备主件件分配给从资源。
应注意,数个设备主件可以具有相同的标识信息片段CID。
例如,当这些设备主件包括微处理器和能够由该微处理器控制的一个或多个设备主件时,就是这种情况。在该情况下,由标识信息片段CID指定的隔室被形成。
然后,该隔室的所有设备主件可以例如访问相同的存储资源。
还有可能的是,出于安全性原因,由微处理器控制的设备主件不具有与微处理器相同的标识信息片段。例如,对于PCI-E类型的设备而言就是这种情况。在该情况下,这种情况允许限制对该PCI-E类型设备主件的一些存储器资源的访问。
针对非不可访问的从资源,定义配置图的配置信息片段集合还可以包括第一访问信息片段IAC1,在过滤信息片段IFLT(例如IFLT=1)指示所考虑的从资源只能由一个或多个设备主件访问的情况下,该第一访问信息片段旨在指示该从资源可以由具有相同标识信息片段CID的一个或多个设备主件访问。
当然,在该情况下,配置信息片段集合包括该对应的标识信息片段CID。
如上文所指示,该标识信息片段CID可以涉及单个设备主件或涉及在相同隔室中的数个设备主件。
针对非不可访问的从资源,定义配置图SHC的配置信息片段集合还可以包括第二访问信息片段IAC2,在过滤信息片段IFLT(IFLT=1)指示从资源只可以由一个或多个设备主件访问的情况下,该第二访问信息片段旨在指示该从资源可以由具有不同标识信息片段CID的设备主件访问。并且,在该情况下,该从资源的配置信息片段集合包括例如对应设备主件的标识信息片段的列表CID1......CID4。
可以由数个设备主件顺序地或同时地访问的这种从资源可以例如是存储部件。
另一方面,对于可以由列表中的设备主件访问的该从资源而言有可能的是,配置信息片段集合包括第三信息片段IAC3,该第三信息片段旨在指示该从资源一次只可以由一个设备主件访问,希望访问该从资源的设备主件被配置为使用信号标SMP。
例如,当从资源可以由两个微处理器访问时,就是这种情况。仅具有信号标的微处理器可以访问该从资源,并且直到微处理器已经释放信号标为止另一微处理器无法访问该从资源。该另一微处理器只有在其已经依次具有信号标SMP时才能访问该从资源。
定义用于该从资源的配置图SCH的配置信息片段集合也可以包括安全性信息片段ISEC(例如位),该安全性信息片段旨在指示该从资源是否能够由安全的设备主件访问。
同样,配置信息片段集合可以包括用于该从资源的特权信息片段(例如位)IPRV,该特权信息片段旨在指示该从资源是否能够由处于特权模式的设备主件访问。
并且,在此,再次,还可能的是,使用锁定信息片段LKS,该锁定信息片段旨在指示该从资源的配置信息片段是否可以被修改。
被分配给从资源的所有这些配置信息片段被存储(步骤121)在对应配置寄存器RGCSi的集合中。
此处应注意,第一设备主管理件(例如微处理器CPU1)被配置为在其启动阶段的结束处处于安全模式和特权模式。
如上文所指示,允许实现配置图(特别是初始配置图)的分派部件包括:配置寄存器集合,被分配给每个从资源和每个设备主件;以及配置控制器RIFC,被配置为在第一设备主管理件的控制下利用配置信息片段集合来更新配置寄存器集合的内容。
这在图13中示意性地被图示。
更具体地,设备主管理件CPU1控制(步骤130)由配置控制器RIFC执行的配置图SCH的更新,该配置控制器更新寄存器RGCMi和RGCSi的集合的内容(步骤131)。
并且,仅具有设备主管理件的质量的设备主件被配置为修改配置图。
现在更具体地参考图14来描述事务TR的内容的示例。
通常,在此,由设备主件发出的每个事务TR包括寻址字段ADR,该寻址字段的内容旨在寻址接收该事务的从资源。
但是寻址字段ADR的内容不属于配置信息片段集合。
换句话说,寻址字段的内容不被单独使用或组合使用,以定义设备主件对从资源的分配。
更具体地,如图14中所图示,每个事务TR包括发出该事务的设备主件的标识信息片段CID、安全性信息片段SEC、旨在指示该事务是否包含执行指令的指示EXE、特权信息片段PRV、指示信息是否是读出或写入事务的信息片段RW、寻址字段ADR和数据字段DATA。
片上系统的处理部件包括添加部件,添加部件被配置为向由设备主件发出的每个事务至少添加该设备主件的标识信息片段CID,该标识信息片段不属于事务的寻址字段ADR。
添加部件还被配置为如果安全性信息片段和/或特权信息片段尚未出现在由设备主件发出的事务中,则向由设备主件发出的每个事务添加安全性信息片段SEC和/或特权信息片段。
如图15中所图示,针对每个设备主件Emi,这些添加部件包括相关联的基本管理单元RIMUi,该基本管理单元通过特定链路LDMi与对应配置寄存器RGCMi的集合链接。
因此,通过向基本管理单元RIMUi添加(步骤150)标识信息片段CID以及可选地添加信息SEC和PRV,基本管理单元RIMUi完成由设备主件EMi发出的初始事务TRI,然后完整事务TR在与互连电路INTC链接的总线上被供应。
实质上,该基本管理单元RIMUi可以包括逻辑电路。
处理部件MT还可以包括验证部件,验证部件被配置为至少使用被附加到事务的配置信息片段和大体上被分配给该从资源的配置信息片段集合中的其他配置信息片段中的至少一些配置信息片段来验证来自设备主件并且旨在用于从资源的事务TR是否被授权访问该从资源。
更具体地,如图16中所图示,验证部件被配置为在互连电路INTC的下游执行验证,并且这些验证部件针对每个从资源包括基本验证模块RISUi,该基本验证模块被配置为经由特定链路LDSi来访问配置信息片段集合,配置信息片段集合被分配给该从资源并且被存储在对应配置寄存器RGCSi的集合中。
访问授权验证在步骤160中被执行。
该验证允许定义在步骤161中对旨在用于从资源RSSi的事务TR的访问是否被授权。
例如,如果过滤指示IFLT被启用并且从资源只可以由具有相同标识信息片段的一个或多个设备主件访问,并且在事务TR中所包含的标识信息片段与被存储在寄存器RGCSi的集合中的标识信息片段不对应,则是这种情况。
然后,验证部件确定拒绝事务是否是读出事务(步骤163)。
如果是这种情况,则基本管理单元RISUi向发出拒绝事务(步骤164)的设备主件EMi返回访问拒绝指示IR,例如0。
并行地,基本验证模块RISUi向设备主管理件EMG返回(步骤165)包含从资源RSSi的标识符IDRSSi、在该拒绝事务的起源处的设备主件EMI的标识信息片段CIDi以及访问类型(在此是读出类型)的非法访问通知NIAC。
如果拒绝事务是写入事务,则该事务被纯粹地并且简单地忽略(步骤167),但是基本验证模块RISUi仍向设备主管理件EMG返回在此再次包含标识符IDRSSi、在拒绝事务的起源处的设备主件EMI的标识信息片段CIDi和拒绝事务的类型(在此是写入类型)的非法访问通知。
在结构上,基本验证模块RISU可以包括逻辑电路。
先前已经看出,仅设备主管理件可以向配置控制器发送事务,例如以更新配置寄存器。
因此,在这方面,必须验证到达配置控制器的事务确实是由设备主管理件发出的。
这是被分配给配置控制器RIFC的辅助验证模块RISUC的作用(图17)。
在这方面,当事务TRC(特别是在该事务TRC的起源处包含设备主件的标识信息片段CID)被提供(步骤170)给辅助验证模块RISUC时,被连接到包含当前管理器设备(例如微处理器CPU1)的标识信息片段CID的管理器寄存器RGG的该辅助验证模块验证在事务TRC中所包含的标识信息片段CID确实与标识信息片段CID1对应(步骤171)。
如果不是这种情况,则对控制器RIFC的访问被拒绝(步骤173)。
另一方面,如果在两个标识信息片段之间存在匹配,则事务TRC确实被提供给配置控制器RIFC(步骤172)。
先前已经看出,从设备主件中,有可能的是,存在具有从端口和主端口的至少一个设备主件。
例如,对于具有输入端口PE(从端口)和输出端口PS(主端口)的设备主件LMk(图18)而言就是这种情况。
这种设备主件可以例如是USB控制器,该USB控制器能够由微处理器控制,但在用户程序的执行期间也可以由另一微处理器控制。
从端口PE与被连接到配置寄存器RGCSk的对应集合的基本验证模块RISUk相关联,并且主端口PS与被连接到配置寄存器RGCMk的对应集合但也被连接到配置寄存器RGCSk的集合的基本管理单元RIMUk相关联。
最初假定该设备主件LMk由微处理器CPU1控制。
在该情况下,与基本验证模块RISUk链接的配置寄存器RGCSk的集合包含微处理器1的标识信息片段CID1以及与微处理器的CPU1的特权和安全性信息片段对应的特权和安全性信息片段。
寄存器RGCMk的集合还包括微处理器CPU1的标识信息片段CID1以及对应安全和特权信息片段。
然后,处理部件包括继承部件MINH(图18),继承部件被配置为基于控制并且通过考虑继承规则来利用被分配给从端口的同源配置信息片段替换被分配给主端口的配置信息片段中的至少一些配置信息片段,或使配置信息片段保持被分配给主端口。
更具体地,这些继承部件MINH包括可控开关SW的集合,可控开关例如以硬件形式被产生,可控开关选择性地被连接到寄存器RGMk的集合和寄存器RGCSk的集合。
继承部件MINH还包括MCM控制部件,MCM控制部件例如以软件形式在微处理器CPU1内被产生,并且MCM控制部件能够发出旨在考虑继承规则而控制开关集合SW的控制信号CSP。
只要设备主件LMk由微处理器CPU1控制,控制部件MCM就将开关SW置于位置A,以便向由主端口PS发出的事务添加标识信息片段CID1以及对应特权和安全性信息片段。
另一方面,如果在给定时刻存在对配置图的修改,使得例如微处理器CPU2必须控制设备主件LMk,则存在:
-一方面,利用微处理器CPU2的新标识信息片段CID2以及对应特权和安全性信息片段来对配置寄存器RGCSk的集合进行更新,以及
-另一方面,将开关SW切换到位置B,以使得自动地,微处理器CPU2的标识信息片段CID2以及对应安全性和特权信息片段被附加到由在互连电路INTC上的主端口PS发出的事务。
换句话说,不需要对片上系统执行完整的重新编程,存在通过简单的切换进行的对被分配给从端口的新信息朝向主端口的自动继承。
还有可能的是,不仅在设备主件之间出现了数个微处理器,例如微处理器CPU1和CPU2,而且还在从资源中出现了至少一个从资源,例如外围设备PH5,该至少一个从资源被配置为生成至少一个中断信号,该至少一个中断信号旨在用于被分配给该从资源的微处理器中的一个微处理器。
这种情况在图19中示意性地被图示。
在这方面,数个中断线FRQ1、FRQ2分别被连接到微处理器CPU1和CPU2以及至少一个从资源PH5。
这些中断线能够传达IRQ中断信号。
然后,处理部件包括中断过滤部件MFIRQ,中断过滤部件被配置为仅在被连接到微处理器的中断线上(例如在此仅在被连接到被分配给外围设备PH5的微处理器CPU1的中断线FRQ1上)路由由从资源PH5发出的中断信号IRQ,中断信号被分配给该微处理器。
如图19中所图示,这些过滤部件MFIRQ至少部分地被并入到被分配给从资源PH5的基本验证模块RISU5中。
更具体地,在基本验证模块RISU5中提供了数个可控开关SW1、SW2,可控开关被连接在被配置为提供中断信号IRQ的从资源的输出端与分别被连接到微处理器CPU1和CPU2的中断线FRQ1和FRQ2之间。
中断过滤部件还包括控制部件MCM1,控制部件被并入、或不被并入基本验证模块RISU5中,并且控制部件被配置为闭合被连接在输出端SS5与被连接到微处理器CPU1(被分配给从资源)的中断线FRQ1之间的开关(在此是开关SW1),并且断开另一开关SW2。
因此,将不可能借助于中断信号来侦查微处理器CPU1的活动。
根据一个实施例,还有可能的是,设备主件包括第一微处理器(例如微处理器CPU1)和第二微处理器CPU2,该第一微处理器被配置为在片上系统的第一启动或冷启动期间启动(步骤2000和2010,图20),以便允许实现2020配置图SCH。
在某个时刻,片上系统MCU可以进入待机状态(步骤2030)。
然后在从片上系统的待机状态退出(步骤2040)的情况下提供被配置为允许第二处理器CPU2而不是第一微处理器CPU1来恢复(步骤2050)配置图的恢复部件MRST。
当第二微处理器例如比第一微处理器CPU1更快和/或具有比第一微处理器CPU1的消耗更低的消耗时,这种情况是特别有利的。
在这方面,恢复部件MRST包括(图21)旨在对要恢复的配置图SCH进行备份的第一备份存储器MM1以及被配置为基于第一微处理器(其被配置为进入片上系统MCU的待机模式之前的设备主管理件)的控制而存储能够由第二微处理器CPU2执行的恢复程序PRGR的第二程序存储器MM2。
恢复部件MRST还包括安全存储部件RGSS,例如受保护的硬件寄存器系统,安全存储部件被配置为将恢复程序的签名以及恢复程序的开始地址存储在第二程序存储器MM2中。
恢复部件MRST还包括常规结构的唤醒源POR,当片上系统从待机模式退出时该唤醒源旨在生成用于唤醒第二微处理器CPU2的信号SRV。
恢复部件MRST还包括状态机STM。
如图22中所图示,该状态机STM在存在唤醒信号SRV的情况下被配置为:
-例如通过将复位信号(复位)强制为0来使第一微处理器CPU1保持处于待机状态(步骤2200),
-然后验证签名SGN(步骤2210),
-在成功验证(步骤2220)的情况下,暂时向第二微处理器CPU2(步骤2230)授予设备主管理件的质量(通过在管理器寄存器RGG中存储该第二微处理器的标识信息片段CID2)并授权由第二微处理器CPU2执行(步骤2240)恢复程序PRGR。
然后,当配置图SCH的恢复完成时,状态机被配置为:
-将设备主管理件的质量移到第二微处理器CPU2(步骤2250),
-通过释放例如复位信号、并且通过将该第一微处理器CPU1的标识信息片段CID1键入管理器寄存器中来向第一微处理器CPU1返回设备主管理件的质量(步骤2270)而允许第一微处理器CPU1退出待机模式(步骤2260)。
根据又一实施例,有可能的是,如图23中所图示,片上系统包括来自设备主件的测试访问端口DAP,例如,该测试访问端口符合标准JTAG,旨在被耦合到外部调试工具DBT。
该测试访问端口DAP被分配给被存储在测试寄存器RGCDAP中的测试标识信息片段Debug_CID,该测试寄存器被连接到被分配给该测试访问端口的基本管理单元RIMUDAP。
并且,如图24中所图示,仅设备主管理件EMG被配置为将测试标识信息片段Debug_CID仅分配给测试访问端口DAP。实际上,在验证被附加到事务的安全性信息片段(SEC)和特权信息片段(PRV)之后,任何RSS从资源都被配置为接受接收包括该测试标识信息片段Debug_CID的事务TR。
实际上,来自测试访问端口的访问符合特权和安全性概念。
因此,即使这种事务旨在被提供给从资源而不管其标识信息片段CID如何,被附加到该事务的安全性和特权信息片段也必须有利地与被分配给该从资源的安全性和特权信息片段对应。
在此概述了本发明的示例实施例。其他实施例也可以根据本说明书的全部内容和本文中所提交的权利要求书来理解。
示例1:一种片上系统,包括数个设备主件、数个从资源、被耦合在设备主件与从资源之间并且能够在设备主件与从资源之间路由事务的互连电路(INTC),以及至少被配置为允许片上系统的用户在片上系统(MCU)内实现该系统的至少一个配置图(SCH)的处理部件(MT),该至少一个配置图由配置信息片段集合定义,该配置信息片段集合包括被分配给每个设备主件的至少一个标识信息片段(CID),这些标识信息片段旨在被附加到由对应设备主件发出的所有事务(TR),这些配置信息片段集合不被用于寻址接收所述事务的从资源,而是被用于定义至少一个设备主件对从资源中的至少一些从资源的分配。
示例2:根据示例1的片上系统,其中从资源属于至少由以下项形成的组:外围设备(PH3)、外围设备(PH6)的特征(PH60)、片上系统内部的存储部件(IMM1)、片上系统内部并且旨在被耦合到片上系统外部的存储部件(EXMM)的存储接口(INTM2)。
示例3:根据前述示例中任一项的片上系统,其中至少一个设备主件(CPU1)包括微处理器。
示例4:根据示例3的片上系统,其中设备主件包括微处理器(CPU1、CPU2)和能够由这些微处理器控制的设备主件,并且能够由微处理器控制的设备主件中的至少一些设备主件被分配有与微处理器的标识信息片段(CID)相同的标识信息片段(CID)。
示例5:根据示例4的片上系统,其中能够由微处理器(CPU1)控制的至少一个设备主件被分配了与所述微处理器的标识信息片段(CID)不同的标识信息片段。
示例6:根据与示例2组合的示例4或5中任一项的片上系统,其中能够由微处理器控制的至少一个设备主件(LMk)包括能够发出事务的输出端口(PS)以及能够接收事务的输入端口(PE),所述输入端口被视为从资源,并且输出端口被视为设备主件。
示例7:根据前述示例中任一项的片上系统,其中处理部件(MT)被配置为允许片上系统的用户在片上系统内实现形成所述配置图(SCH)的初始配置图(SCHI)。
示例8:根据示例1至6中任一项的片上系统,其中处理部件(MT)被配置为允许片上系统的用户在片上系统内实现具有配置信息片段初始集合的初始配置图(SCHI),并且允许片上系统的用户修改该初始集合的至少一个配置信息片段的值,以便获得定义所述配置图(SCH)的配置信息片段集合。
示例9:根据示例7或8中任一项的片上系统,其中处理部件(MT)包括配置部件和分派部件,配置部件被配置为允许片上系统的用户定义所述初始配置图,并且分派部件被配置为实现初始配置图。
示例10:根据与示例7或8中任一项组合的前述示例中任一项的片上系统,其中处理部件(MT)包括安装部件,安装部件包括来自设备主件的被称为设备主管理件(EMG)的第一设备主件,该第一设备主管理件被配置为响应于片上系统的第一启动而执行启动阶段,在该启动阶段的结束处,该第一设备主管理件被配置为至少允许实现该初始配置图。
示例11:根据示例10的片上系统,其中第一设备主管理件(EMG)的指定在片上系统的生产期间是固定的。
示例12:根据示例10的片上系统,其中安装部件包括允许指定第一设备主管理件的可编程指定寄存器(RDS)。
示例13:根据示例10的片上系统,其中安装部件还被配置为只要第一设备主管理件(EMG)尚未完成其启动阶段,就暂时使所有其他设备主件不操作。
示例14:根据示例10的片上系统,其中安装部件还包括启动存储器(BMM),该启动存储器被配置为在片上系统的所述第一启动期间存储仅能够由第一设备主管理件(EMG)执行的启动程序(BPR)。
示例15:根据示例9和14的片上系统,其中配置部件包括:输入(INP),被配置为接收至少包含表示所述初始配置图的指令的用户程序(UPR);以及程序存储器,旨在用于存储用户程序,并且分派部件包括所述第一设备主管理件,该第一设备主管理件被配置为在其启动阶段的结束处执行所述用户程序以便实现所述初始配置图。
示例16:根据示例10的片上系统,其中第一设备主管理件(EMG)包括微处理器。
示例17:根据示例10的片上系统,其中第一设备主管理件(EMG)包括硬件逻辑电路。
示例18:根据示例10的片上系统,其中安装部件包括来自设备主件的被称为初始设备主管理件(CPU1)的设备主件,该设备主件被配置为在片上系统的第一启动期间执行启动阶段,在该启动阶段的结束处,该设备主件被配置为授权被指定为新设备主管理件并且形成所述第一设备主管理件的另一设备主件(CPU2)的启动,该第一设备主管理件在其启动阶段的结束处被配置为至少允许实现所述初始配置图。
示例19:根据示例18的片上系统,其中初始设备主管理件包括微处理器(CPU1),并且新设备主管理件包括另一微处理器(CPU2)。
示例20:根据示例18的片上系统,其中初始设备主管理件包括硬件逻辑电路,并且新设备主管理件包括微处理器(CPU2)。
示例21:根据示例18的片上系统,其中安装部件还被配置为只要初始设备主管理件(CPU1)的启动阶段和新设备主管理件(CPU2)的启动阶段没有完成,就暂时使所有其他设备主件不操作。
示例22:根据示例18的片上系统,其中安装部件还包括启动存储器(BMM)和程序存储器(PMM),该启动存储器被配置为存储在所述第一启动期间仅能够由初始设备主管理件(CPU1)执行的启动程序,该程序存储器被配置为存储新设备主管理件的启动程序(BPR2)。
示例23:根据示例9和22的片上系统,其中配置部件包括:输入(INP),被配置为接收至少包含表示所述初始配置图的指令的用户程序,所述程序存储器也旨在用于存储用户程序,并且分派部件包括所述第一设备主管理件,该第一设备主管理件被配置为在其启动阶段的结束处执行所述用户程序以便实现所述初始配置图。
示例24:根据示例10的系统,其中第一设备主管理件(CPU1)还被配置为在已经允许实现初始分配图之后,在由处理部件执行用户程序期间将第二设备主件(CPU2)指定为新主管理器设备,然后第一设备主件被配置为失去其作为主管理设备的质量。
示例25:根据示例24的系统,其中任何新设备主管理件(CPU2)依次被配置为指定新设备主管理件(CPU1),并且然后失去其作为设备主管理件的质量。
示例26:根据示例1的片上系统,其中配置图的配置信息片段集合还针对至少一个从资源包括不可访问性信息片段(INAC),该不可访问性信息片段旨在指示该从资源不能够由任何设备主件访问。
示例27:根据示例1的片上系统,其中针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括过滤信息片段(IFLT),过滤信息片段旨在指示该从资源是否可以由任何设备主件访问或仅可以由一个或多个设备主件访问。
示例28:根据示例27的片上系统,其中针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括-第一访问信息片段(IAC1),在过滤信息片段指示从资源只可以由一个或多个设备主件访问的情况下,该第一访问信息片段旨在指示该从资源可以由具有相同标识信息片段的一个或多个设备主件访问,以及-对应标识信息片段(CID)。
示例29:根据示例27的片上系统,其中针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括-第二访问信息片段(IAC2),在过滤信息片段指示从资源只可以由一个或多个设备主件访问的情况下,该第二访问信息片段旨在指示该从资源可以由具有不同标识信息片段的设备主件访问,以及-对应的设备主件的标识信息片段的列表(CID1、…、CID4)
示例30:根据示例29的片上系统,其中针对可以由所述列表中的设备主件访问的从资源的至少一个从资源,定义配置图的配置信息片段集合包括第三信息片段(IAC3),该第三信息片段旨在指示所述从资源中的至少一个从资源一次只可以由一个设备主件访问,希望访问该从资源的设备主件被配置为使用信号标。
示例31:根据示例1的片上系统,其中针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括安全性信息片段(ISEC),该安全性信息片段旨在指示该从资源在安全模式中是否能够由设备主件访问。
示例32:根据示例1的片上系统,其中针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括特权信息片段(IPRV),该特权信息片段旨在指示该从资源在特权模式中是否能够由设备主件访问。
示例33:根据示例1的片上系统,其中针对每个设备主件,定义配置图的配置信息片段集合除了其标识信息片段(CID)之外还包括安全性信息片段(SEC),该安全性信息片段旨在指示该设备主件是否被配置为处于安全模式。
示例34:根据示例1的片上系统,其中针对每个设备主件,定义配置图的配置信息片段集合除了其标识信息片段之外还包括特权信息片段(PRV),该特权信息片段旨在指示该设备主件是否被配置为处于特权模式。
示例35:根据示例10、33和34的片上系统,其中第一设备主管理件(EMG)被配置为在其启动阶段的结束处处于安全模式和特权模式。
示例36:根据示例1的片上系统,其中针对从资源中的至少一些从资源和设备主件中的至少一些设备主件,定义配置图的配置信息片段集合还包括锁定信息片段(LKM、LKS),该锁定信息片段旨在指示至少一些从资源和至少一些设备主件的配置信息片段是否可以被修改。
示例37:根据示例9和10的片上系统,其中分派部件除第一设备主管理件(EMG)之外还包括-配置寄存器集合,配置寄存器集合被分配给每个从资源和每个设备主件,以及-配置控制器(RIFC),配置控制器(RIFC)被配置为在第一设备主管理件的控制下,利用所述配置信息片段集合来更新配置寄存器集合的内容。
示例38:根据示例37的片上系统,其中被分配给从资源的配置寄存器集合旨在存储在示例26至32和36中被定义、并且被分配给该从资源的各种配置信息片段,并且被分配给每个设备主件的配置寄存器集合旨在存储被分配给该设备主件的标识信息片段和在示例33、34和36中被定义的被分配给该设备主件的配置信息片段。
示例39:根据示例8的片上系统,其中处理部件(MT)被配置为执行用户程序,以在实现用户程序之后修改初始配置图,并相应地实现所述配置图,以及可能地再次修改任何旧配置图。
示例40:根据示例10和39的片上系统,其中仅具有设备主管理件质量的设备主件被配置为修改配置图(SCH)。
示例41:根据示例38和40的片上系统,其中为了修改配置图,设备主管理件被配置为控制配置控制器(RIFC),以使得其利用定义将要实现的新配置图的配置信息片段集合来更新配置寄存器的内容。
示例42:根据示例1的片上系统,其中由设备主件发出的每个事务(TR)包括寻址字段(ADR),该寻址字段的内容旨在寻址接收该事务的从资源,并且寻址字段的内容不属于配置信息片段集合。
示例43:根据示例1的片上系统,其中由设备主件发出的每个事务(TR)包括寻址字段,该寻址字段的内容旨在寻址接收该事务的从资源,并且处理部件(MT)还包括添加部件,该添加部件被配置为向由设备主件发出的每个事务添加至少该设备主件的标识信息片段(CID),所述标识信息片段不属于事务的寻址字段。
示例44:根据示例34和43的片上系统,其中添加部件还被配置为如果安全性信息片段和/或特权信息片段尚未出现在由设备主件发出的事务中,则向由设备主件发出的每个事务添加安全性信息片段(SEC)和/或特权信息片段(PRV)。
示例45:根据示例43的片上系统,其中针对每个设备主件,添加部件包括基本管理单元(RIMUi),该基本管理单元被配置为访问被分配给该设备主件的标识信息片段并且可选地访问安全性信息片段和/或特权信息片段,并且基本管理单元被配置为向由设备主件发出的任何事务添加该标识信息片段以及可选地添加安全性信息片段和/或特权信息片段。
示例46:根据示例38和45的片上系统,其中被分配给设备主件的每个基本管理单元(RIMUi)通过专用链路(LDMi)至少被连接到被分配给该设备主件的配置寄存器(RGCMi)的集合。
示例47:根据示例1的片上系统,其中至少一个配置信息片段旨在被附加到每个事务,并且处理部件(MT)包括验证部件,验证部件被配置为验证来自设备主件并且旨在用于从资源的事务是否被授权以使用被附加到所述事务的所述至少一个配置信息片段来访问该从资源。
示例48:根据示例47的片上系统,其中验证部件被配置为至少使用被附加到所述事务的所述标识信息片段(CID)来验证来自设备主件并且旨在用于从资源的事务是否被授权访问该从资源。
示例49:根据示例33和47的片上系统,其中验证部件被配置为至少使用被附加到所述事务的所述安全性信息片段(SEC)和所述特权信息片段(PRV)来验证来自设备主件并且旨在用于从资源的事务是否被授权访问该从资源。
示例50:根据示例24和47的片上系统,其中验证部件被配置为使用被附加到所述事务(TR)的(一个或多个)配置信息片段以及被分配给该从资源的配置信息片段集合中的其他配置信息片段来验证来自设备主件并且旨在用于从资源的事务是否被授权访问该从资源。
示例51:根据示例47的片上系统,其中验证部件被配置为在互连电路(INTC)的下游执行所述验证。
示例52:根据示例47的片上系统,其中针对每个从资源,验证部件包括基本验证模块(RISUi),该基本验证模块被配置为访问被分配给该从资源的配置信息片段集合。
示例53:根据示例37和52的片上系统,其中被分配给从资源的每个基本验证模块(RISUi)通过专用链路(LDSi)被连接到被分配给该从资源的配置寄存器(RGCSi)的集合。
示例54:根据示例52的片上系统,其中处理部件包括:管理器寄存器(RGG),该管理器寄存器旨在包含当前设备主管理件的标识信息片段;以及辅助验证模块(RISUC),被分配给所述控制器并且被配置为禁止具有与在所述管理器寄存器中所包含的标识信息片段不同的标识信息片段的任何设备主件访问所述控制器。
示例55:根据示例10和47的片上系统,其中验证部件还被配置为在由设备主件发出并且旨在用于从资源的读出事务未被授权访问该从资源的情况下,向设备主件返回访问拒绝指示(IR)并且向设备主管理件返回包含该从资源的标识符、访问类型的指示和在该拒绝事务的起源处的设备主件的标识信息片段的非法访问通知(NIAC)。
示例56:根据示例10和47的片上系统,其中验证部件还被配置为在由设备主件发出并且旨在用于从资源的写入事务未被授权访问该从资源的情况下,忽略该事务并且向设备主管理件返回包含该从资源的标识符、访问类型的指示和在该拒绝事务的起源处的设备主件的标识信息片段的非法访问通知(NIAC)。
示例57:根据示例1的片上系统,在设备主件之间包括至少一个设备主件,该至少一个设备主件具有从端口和主端口,配置信息片段被分配给从端口,并且配置信息片段被分配给主端口,并且其中处理部件包括继承部件(MINH),这些继承部件被配置为在控制时并且通过考虑继承规则,用被分配给从端口的同源配置信息片段替换被分配给主端口的配置信息片段中的至少一些配置信息片段,或使配置信息片段保持被分配给主端口。
示例58:根据示例37、45和57的片上系统,其中继承部件(MINH)包括-在被分配给主端口的基本管理单元(RIMUk)内的可控制开关的集合,这些可控开关被连接到被分配给从端口的配置寄存器中的至少一些配置寄存器和被分配给主端口的同源配置寄存器,以及-控制部件(MCM),控制部件(MCM)被配置为控制开关的集合,以便选择被分配给主端口的对应配置寄存器或被分配给从端口的对应配置寄存器。
示例59:根据示例1的片上系统,包括:-来自设备主件的数个微处理器,-来自从资源的至少一个从资源,该至少一个从资源被配置为生成至少一个中断信号,该中断信号旨在用于被分配给该从资源的微处理器中的一个微处理器,-数个中断线,分别被连接到微处理器和所述至少一个从资源,并且数个中断线能够传达中断信号,以及-片上系统,其中处理部件包括中断过滤部件(MFIRQ),这些中断过滤部件被配置为仅在被连接到微处理器的中断线上路由由所述从资源发出的中断信号,中断信号被分配给该微处理器。
示例60:根据示例52和59的片上系统,其中中断过滤部件(MFIRQ)至少部分地被并入被分配给所述从资源的基本验证模块(RISU5)中。
示例61:根据示例60的片上系统,其中中断过滤部件(MFIRQ)包括-在基本验证模块中的数个可控制开关,被连接在被配置为提供中断信号的从资源的输出与被连接到微处理器的相应的中断线之间,以及-控制部件,被配置为闭合被连接在所述输出与被连接到被分配给所述从资源的微处理器的中断线之间的开关,并且控制部件被配置为断开其他一个或多个开关。
示例62:根据示例1的片上系统,包括-来自设备主件的第一微处理器和第二设备主件(例如第二微处理器),该第一微处理器被配置为在片上系统的第一启动期间启动以便允许实现配置图,以及-恢复部件(MRST),被配置为在从片上系统的待机模式退出的情况下,允许第二设备主件代替第一微处理器恢复配置图。
示例63:根据示例10和62的片上系统,其中在进入待机模式之前,第一微处理器被配置为设备主管理件,并且恢复部件(MRST)包括-第一备份存储器,旨在对将要恢复的配置图进行备份,-第二程序存储器,被配置为基于第一微处理器的控制存储能够由第二设备主件执行的恢复程序,-安全存储部件,被配置为将所述恢复程序的签名以及恢复程序的开始地址存储在所述第二程序存储器中,-唤醒源,旨在当片上系统从待机模式退出时,向第二设备主件生成唤醒信号,以及-状态机(STM),被配置为在存在所述唤醒信号的情况下,将第一微处理器保持在待机状态中,验证所述签名,并且在成功验证的情况下,暂时向第二设备主件授予设备主管理件的质量并且授权由第二设备主件执行恢复程序,然后在恢复完成时从第二设备主件撤消设备主管理件的质量,允许第一微处理器退出待机模式,并且向第一微处理器返回其设备主管理件的质量。
示例64:根据示例49的片上系统,包括来自设备主件的测试访问端口(DAP),该测试访问端口旨在被耦合到外部调试工具,该测试访问端口被分配给测试标识信息片段(Debug_CID),并且任何从资源被配置为在验证被附加到所述事务的所述安全性信息片段(SEC)和所述特权信息片段(PRV)之后,接受接收包括该测试标识信息片段的事务。
示例65:根据示例10和64的片上系统,其中仅设备主管理件被配置为将测试标识信息片段仅分配给测试访问端口(DAP)。
示例66:根据示例1的片上系统,形成微控制器(MCU)或微处理器。
示例67:一种用于管理片上系统的操作的方法,片上系统包括数个设备主件、数个从资源、被耦合在设备主件与从资源之间并且能够在设备主件与从资源之间路由事务的互连电路,方法包括–配置阶段(PHCFG),包括:通过配置信息片段集合来定义至少一个配置图,该集合包括被分配给每个设备主件的至少一个标识信息片段(CID),该配置信息片段集合允许定义至少一个设备主件对从资源中的至少一些从资源的分配,以及在片上系统内实现所述至少一个配置图,以及-操作阶段(PHF),包括至少向由对应设备主件发出的所有事务添加这些标识信息片段,并且在不使用这些配置信息片段集合的情况下寻址从资源。
示例68:根据示例67的方法,其中从资源属于至少由以下项形成的组:外围设备(PH3)、外围设备(PH6)的特征(PH60、PH61)、片上系统内部的存储部件、片上系统内部并且旨在被耦合到片上系统外部的存储部件的存储接口。
示例69:根据示例67或68中任一项的方法,其中至少一个设备主件包括微处理器(CPU1)。
示例70:根据示例69的方法,其中设备主件包括微处理器、并且设备主件能够由这些微处理器控制,能够由微处理器控制的至少一些设备主件被分配有与微处理器的标识信息片段(CID)相同的标识信息片段。
示例71:根据示例70的方法,其中能够由微处理器控制的至少一个设备主件被分配有与所述微处理器的标识信息片段(CID)不同的标识信息片段。
示例72:根据与示例68组合的示例70或71的方法,其中能够由微处理器控制的至少一个设备主件包括能够发出事务的输出端口(PS)以及能够接收事务的输入端口(PE),并且所述输入端口被视为从资源,并且输出端口被视为设备主件。
示例73:根据示例67至72中任一项的方法,其中所述配置阶段(PHCFG)包括在片上系统内实现形成所述配置图的初始配置图。
示例74:根据示例67至72中任一项的方法,其中所述配置阶段(PHCFG)包括在片上系统内实现具有配置信息片段初始集合的初始配置图,并且方法包括修改该初始集合的至少一个配置信息片段的值,以便获得定义所述配置图的配置信息片段集合
示例75:根据示例73或74中任一项的方法,其中配置阶段(PHCFG)包括从设备主件中指定被称为设备主管理件的第一设备主件,该第一设备主管理件响应于片上系统的第一启动而执行启动阶段,在该启动阶段的结束处,第一设备主管理件授权实现所述初始配置图。
示例76:根据示例75的方法,其中第一设备主管理件(CPU1)的指定是固定的并且是由片上系统的生产引起的。
示例77:根据示例75的方法,其中第一设备主管理件(CPU1)的指定是可编程的。
示例78:根据示例75至77中任一项的方法,其中只要第一设备主管理件(EMG)尚未完成其启动阶段,就使所有其他设备主件暂时不操作。
示例79:根据示例75至78中任一项的方法,其中配置阶段(PHCFG)包括在片上系统的所述第一启动期间存储仅能够由第一设备主管理件执行的启动程序。
示例80:根据示例79的方法,其中配置阶段(PHCFG)包括接收至少包含表示所述初始配置图的指令的用户程序,存储用户程序,所述第一设备主管理件在其启动阶段的结束处执行所述用户程序,以便实现所述初始配置图。
示例81:根据示例75的方法,其中配置阶段(PHCFG)包括从设备主件中指定被称为初始设备主管理件的设备主件,在片上系统的第一启动期间该初始设备主管理件执行启动阶段,在该启动阶段的结束处,该设备主件授权被指定为新设备主管理件并且形成所述第一设备主管理件的另一设备主件的启动,从而至少允许在其启动阶段的结束处至少实现所述初始配置图。
示例82:根据示例81的方法,其中只要初始设备主管理件(CPU1)的启动阶段和新设备主管理件(CPU2)的启动阶段没有完成,就使所有其他设备主件暂时不操作。
示例83:根据示例81或82中任一项的方法,其中配置阶段(PHCFG)包括在片上系统的所述第一启动期间存储仅能够由初始设备主管理件执行的启动程序,并且存储新设备主管理件的启动程序。
示例84:根据示例83的方法,其中配置阶段(PHCFG)包括接收至少包含表示所述初始配置图的指令的用户程序,存储用户程序,所述第一设备主管理件在其启动阶段的结束处执行所述用户程序,以便实现所述初始配置图。
示例85:根据示例75至84中任一项的方法,其中操作阶段(PHF)包括通过第一设备主管理件在其已经允许实现初始分配图之后将第二设备主件指定为新设备主管理件的指定,第一设备主件然后失去了其作为设备主管理件的质量。
示例86:根据示例85的方法,其中在操作阶段(PHF)期间,任何新设备主管理件依次指定新设备主管理件,并且然后失去其作为设备主管理件的质量
示例87:根据示例67的方法,其中针对至少一个从资源,配置图的配置信息片段集合还包括不可访问性信息片段(INAC),该不可访问性信息片段指示该从资源是否不能够由任何设备主件访问。
示例88:根据示例67至87中任一项的方法,其中针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括过滤信息片段(IFLT),该过滤信息片段指示该从资源是否可以由任何设备主件访问或仅可以由一个或多个设备主件访问。
示例89:根据示例88的方法,其中针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括-第一访问信息片段(IAC1),在过滤信息片段指示从资源只可以由一个或多个设备主件访问的情况下,该第一访问信息片段指示该从资源可以由具有相同标识信息片段的一个或多个设备主件访问,以及-对应的标识信息片段。
示例90:根据示例88的方法,其中定义配置图的配置信息片段集合还针对每个非不可访问的从资源包括-第二访问信息片段(IAC2),在过滤信息片段指示从资源只能被一个或多个设备主件访问的情况下,该第二访问信息片段指示该从资源可以被具有不同标识信息片段的设备主件访问,以及-对应设备主件的标识信息片段的列表。
示例91:根据示例90的方法,其中针对可以由所述列表中的设备主件访问的从资源中的至少一个从资源,定义配置图的配置信息片段集合还包括第三信息片段(IAC3),该第三信息片段指示所述从资源中的至少一个从资源一次只可以由一个设备主件访问,希望访问该从资源的设备主件在操作阶段期间使用信号标(SMP)。
示例92:根据示例67至91中任一项的方法,其中针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括安全性信息片段(ISEC),该安全性信息片段指示在安全模式中是否能够由设备主件访问该从资源。
示例93:根据示例67至92中任一项的方法,其中针对每个非不可访问的从资源,定义配置图的配置信息片段集合还包括特权信息片段(IPRV),该特权信息片段指示该在特权模式中是否能够由设备主件访问该从资源。
示例94:根据示例67至93中任一项的方法,其中针对每个设备主件,定义配置图的配置信息片段集合除了其标识信息片段之外还包括安全性信息片段(SEC),该安全性信息片段指示该设备主件是否被配置为处于安全模式。
示例95:根据示例67至94中任一项的方法,其中针对每个设备主件,定义配置图的配置信息片段集合除了其标识信息片段之外还包括特权信息片段(PRV),该特权信息片段指示该设备主件是否被配置为处于特权模式。
示例96:根据示例75、94和95的方法,包括第一设备主管理件(CPU1)在其启动阶段的结束处处于安全模式和特权模式的配置。
示例97:根据示例67至96中任一项的方法,其中针对从资源中的至少一些从资源和设备主件中的至少一些设备主件,定义配置图的配置信息片段集合还包括锁定信息片段(LKM、LKS),该锁定信息片段指示至少一些从资源和至少一些设备主件的配置信息片段是否可以被修改。
示例98:根据与示例75组合的示例67至97中任一项的方法,包括在第一设备主管理件(EMG)的控制下更新被分配给每个从资源和每个设备主件的配置信息片段。
示例99:根据与示例74组合的示例67至98中任一项的方法,其中操作阶段(PHF)包括执行用户程序,以在实现用户程序之后修改初始配置图,并且相应地实现所述配置图,并且可能再次修改任何旧配置图。
示例100:根据与示例75至82中任一项组合的示例99的方法,其中仅具有设备主管理件(EMG)的质量的设备主件被授权修改配置图。
示例101:根据示例67至100中任一项的方法,其中由设备主件发出的每个事务(TR)包括寻址字段,该寻址字段的内容寻址接收该事务的从资源,并且寻址字段的内容不属于所述配置信息片段集合。
示例102:根据示例67至100中任一项的方法,其中由设备主件发出的每个事务(TR)包括寻址字段,该寻址字段的内容寻址接收该事务的从资源,并且操作阶段包括至少向由设备主件发出的每个事务添加该设备主件的标识信息片段,所述标识信息片段不属于事务的寻址字段。
示例103:根据与示例94或95组合的示例102的方法,其中操作阶段(PHF)包括如果安全性信息片段和/或特权信息片段、或这两个信息片段中的一个信息片段尚未出现在由设备主件发出的事务中,则向由设备主件发出的每个事务添加安全性信息片段和/或特权信息片段。
示例104:根据示例67至103中任一项的方法,其中至少一个配置信息片段被附加到每个事务,并且操作阶段(PHF)包括验证来自设备主件并且旨在用于从资源的事务是否被授权访问该从资源,所述验证包括使用被附加到所述事务的所述至少一个配置信息片段。
示例105:根据示例104的方法,其中所述验证包括至少使用被附加到所述事务的所述标识信息片段(CID)。
示例106:根据与示例94和95组合的示例104或105的方法,其中所述验证包括至少使用被附加到所述事务的所述安全性信息片段(SEC)和所述特权信息片段(PRV)。
示例107:根据与示例87至93和97组合的示例104至106中任一项的方法,其中所述验证包括使用被附加到所述事务(TR)的(一个或多个)配置信息片段以及被分配给该从资源的配置信息片段集合中的其他配置信息片段。
示例108:根据示例104至107中任一项的方法,其中所述验证在互连电路(INTC)的下游被执行。
示例109:根据示例104到108中任一项的方法,其中所述验证包括来自分别被分配给这些从资源的配置信息片段在从资源处所执行的本地验证(RISUi)。
示例110:根据与示例75至82中任一项组合的示例104至109中任一项的方法,还包括在由设备主件发出并且旨在用于从资源的读出事务未被授权访问该从资源的情况下,向设备主件返回访问拒绝指示(IR)并且向设备主管理件返回包含该从资源的标识符、访问类型的指示和在该拒绝事务的起源处的设备主件的标识信息片段的非法访问通知(NIAC)。
示例111:根据与示例75至82中任一项组合的示例104至110中任一项的方法,还包括在由设备主件发出并且旨在用于从资源的写入事务未被授权访问该从资源的情况下,忽略该事务并且向设备主管理件返回包含该从资源的标识符、访问类型的指示和在该拒绝事务的起源处的设备主件的标识信息片段的非法访问通知(NIAC)的事实。
示例112:根据与示例75至82中任一项组合的示例67至111中任一项的方法,包括:当前设备主管理件的标识信息片段的存储;以及辅助验证,包括在当前设备主管理件的标识信息片段与希望修改至少一个配置信息片段的设备主件的标识信息片段之间的比较(171)和对任何设备主件修改所述至少一个配置信息片段的禁止,该任何设备主件具有与设备主管理件的标识信息片段不同的标识信息片段。
示例113:根据示例67至112中任一项的方法,在设备主件之间包括至少一个设备主件,该至少一个设备主件具有从端口(PS)和主端口(PE),配置信息片段被分配给从端口,并且配置信息片段被分配给主端口,方法还包括基于控制并且通过考虑继承规则,利用被分配给从端口的同源配置信息片段替换被分配给主端口的配置信息片段中的至少一些配置信息片段,或使配置信息片段保持被分配给主端口。
示例114:根据示例67至113中任一项的方法,包括:–在设备主件之间的数个微处理器,以及生成至少一个中断信号(IRQ)的至少一个从资源,该中断信号旨在用于被分配给该从资源的微处理器中的一个微处理器,-数个中断线(FRQ1、FRQ2)分别被连接到微处理器和所述至少一个从资源,并且数个中断线能够传达中断信号,–仅在被连接到微处理器的中断线上路由由所述从资源发出的中断信号,中断信号被分配给该微处理器。
示例115:根据示例67至114中任一项的方法,包括:-第一微处理器(CPU1),被配置为在片上系统的第一启动期间启动,以便允许实现配置图,-在从片上系统的待机模式退出的情况下,通过第二设备主件(CPU2)来恢复配置图。
示例116:根据与示例75至82中任一项组合的示例115的方法,其中第一微处理器是在进入待机模式之前的设备主管理件,恢复(205)包括:–对将要恢复的配置图进行备份,-基于第一微处理器的控制,存储能够由第二设备主件执行的恢复程序,-安全地存储所述恢复程序的签名以及恢复程序的起始地址,-当片上系统从待机模式退出时,向第二设备主件生成唤醒信号,以及-在存在所述唤醒信号的情况下,将第一微处理器保持在待机状态中,验证所述签名,并且在成功验证的情况下,暂时向第二设备主件分派设备主管理件的质量并且通过第二设备主件执行恢复程序,然后在恢复完成时对第二设备主件撤消设备主管理件的质量,使第一微处理器从待机模式退出,并且向第一微处理器分派其设备主管理件的质量。
示例117:根据与示例116组合的示例67至116中任一项的方法,包括将测试标识信息片段(Debug_CID)分配给形成设备主件的一部分并且旨在被耦合到外部调试工具的测试访问端口(DAP),并且在验证被附加到所述事务的所述安全性信息片段(SEC)和所述特权信息片段(PRV)之后,任何从资源接受接收包括该测试标识信息片段的事务。
示例118:根据与示例75至82中任一项组合的示例117的方法,其中仅设备主管理件将测试标识信息片段仅分配给测试访问端口(DAP)。
示例119:根据前述示例中任一项的方法,其中片上系统形成微控制器(MCU)或微处理器。
Claims (26)
1.一种片上系统,包括:
多个设备主件;
多个从资源;
互连电路,被耦合在所述设备主件与所述从资源之间,并且能够在设备主件与从资源之间路由事务;以及
处理单元,被配置为允许所述片上系统的用户在所述片上系统内实现由配置信息片段集合定义的所述系统的至少一个配置图,所述配置信息片段集合包括被分配给每个设备主件的至少一个标识信息片段,其中所述标识信息片段旨在被附加到由对应的所述设备主件发出的所有所述事务,并且其中所述配置信息片段集合不被用于寻址接收所述事务的所述从资源,而是被用于定义至少一个设备主件对所述从资源中的至少一些从资源的分配;以及
允许所述片上系统的所述用户在所述片上系统内实现形成所述配置图的初始配置图;
其中所述处理单元包括安装单元,所述安装单元包括来自所述设备主件的第一设备主管理件,所述第一设备主管理件被配置为响应于所述片上系统的第一启动而执行启动阶段,在所述启动阶段的结束处,所述第一设备主管理件被配置为至少允许实现所述初始配置图;以及
其中所述安装单元还被配置为只要所述第一设备主管理件尚未完成其启动阶段,就暂时使所有其他设备主件不操作。
2.根据权利要求1所述的片上系统,其中每个从资源属于至少由以下项形成的组:外围设备、所述外围设备的特征、所述片上系统内部的存储单元、以及所述片上系统内部并且旨在被耦合到所述片上系统外部的存储单元的存储接口。
3.根据权利要求1所述的片上系统,其中至少一个设备主件包括微处理器。
4.根据权利要求3所述的片上系统,其中所述设备主件包括微处理器和能够由所述微处理器控制的设备主件,并且能够由相应微处理器控制的所述设备主件中的至少一些设备主件被分配了与所述相应微处理器的所述标识信息片段相同的标识信息片段。
5.根据权利要求4所述的片上系统,其中能够由所述相应微处理器控制的至少一个设备主件被分配了与所述相应微处理器的所述标识信息片段不同的标识信息片段。
6.根据权利要求4所述的片上系统,
其中每个从资源属于至少由以下项形成的组:外围设备、所述外围设备的特征、所述片上系统内部的存储单元、以及所述片上系统内部并且旨在被耦合到所述片上系统外部的存储单元的存储接口;以及
其中能够由所述相应微处理器控制的至少一个设备主件包括能够发出事务的输出端口以及能够接收事务的输入端口,所述输入端口被视为从资源,并且所述输出端口被视为所述设备主件。
7.根据权利要求1所述的片上系统,其中所述处理单元被配置为允许所述片上系统的所述用户在所述片上系统内实现具有配置信息片段的初始集合的初始配置图,并且允许所述用户修改所述初始集合的至少一个配置信息片段的值,以便获得定义所述配置图的所述配置信息片段集合。
8.根据权利要求1所述的片上系统,其中所述处理单元包括:配置单元,被配置为允许所述片上系统的所述用户定义所述初始配置图;以及分派单元,被配置为实现所述初始配置图。
9.根据权利要求1所述的片上系统,其中所述第一设备主管理件的指定在所述片上系统的生产期间被固定。
10.根据权利要求1所述的片上系统,其中所述安装单元包括允许指定所述第一设备主管理件的可编程指定寄存器。
11.根据权利要求1所述的片上系统,其中所述安装单元还包括启动存储器,所述启动存储器被配置为在所述片上系统的所述第一启动期间,存储仅能够由所述第一设备主管理件执行的启动程序。
12.根据权利要求11所述的片上系统,
其中所述处理单元包括:配置单元,被配置为允许所述片上系统的所述用户定义所述初始配置图;以及分派单元,被配置为实现所述初始配置图;以及
其中所述配置单元包括:输入,被配置为接收至少包含表示所述初始配置图的指令的用户程序;以及程序存储器,旨在用于存储所述用户程序,并且所述分派单元包括所述第一设备主管理件,所述第一设备主管理件被配置为在其启动阶段的结束处执行所述用户程序,以便实现所述初始配置图。
13.根据权利要求1所述的片上系统,其中所述第一设备主管理件包括微处理器。
14.根据权利要求1所述的片上系统,其中所述第一设备主管理件包括硬件逻辑电路。
15.根据权利要求1所述的片上系统,
其中针对每个设备主件,定义所述配置图的所述配置信息片段集合除了所述配置信息片段集合的标识信息片段外,还包括:
安全性信息片段,旨在指示所述设备主件是否被配置为处于安全模式;以及
特权信息片段,旨在指示所述设备主件是否被配置为处于特权模式;以及
其中所述第一设备主管理件被配置为在其启动阶段的结束处处于安全模式和特权模式。
16.根据权利要求1所述的片上系统,其中针对所述从资源中的至少一些从资源和所述设备主件中的至少一些设备主件,定义所述配置图的所述配置信息片段集合还包括锁定信息片段,所述锁定信息片段旨在指示所述至少一些从资源和所述至少一些设备主件的配置信息片段是否能够被修改。
17.根据权利要求1所述的片上系统,
其中所述处理单元包括:配置单元,被配置为允许所述片上系统的所述用户定义所述初始配置图;以及分派单元,被配置为实现所述初始配置图;以及
其中所述分派单元除所述第一设备主管理件之外,还包括:
配置寄存器集合,被分配给每个从资源和每个设备主件;以及
配置控制器,被配置为在所述第一设备主管理件的控制下,利用所述配置信息片段集合来更新所述配置寄存器集合的内容。
18.根据权利要求17所述的片上系统,
其中被分配给从资源的配置寄存器集合旨在存储被分配给所述从资源的所述配置信息片段;以及
其中被分配给每个设备主件的配置寄存器集合旨在存储被分配给所述设备主件的所述标识信息片段、以及被分配给所述设备主件的所述配置信息片段。
19.根据权利要求7所述的片上系统,其中所述处理单元被配置为执行用户程序,以在实现所述用户程序之后修改所述初始配置图,并且相应地实现所述配置图,并且可能地再次修改任何旧配置图。
20.根据权利要求19所述的片上系统,
其中所述处理单元包括安装单元,所述安装单元包括来自所述设备主件的第一设备主管理件,所述第一设备主管理件被配置为响应于所述片上系统的第一启动而执行启动阶段,在所述启动阶段的结束处,所述第一设备主管理件被配置为至少允许实现所述初始配置图;以及
其中仅具有设备主管理件的质量的所述设备主件被配置为修改所述配置图。
21.根据权利要求20所述的片上系统,
其中被分配给从资源的配置寄存器集合旨在存储被分配给所述从资源的所述配置信息片段;
其中被分配给每个设备主件的配置寄存器集合旨在存储被分配给所述设备主件的所述标识信息片段、以及被分配给所述设备主件的所述配置信息片段;以及
其中为了修改所述配置图,所述第一设备主管理件被配置为控制配置控制器,以使得所述配置控制器利用定义将被实现的经修改的所述配置图的所述配置信息片段集合,来更新所述配置寄存器的内容。
22.根据权利要求1所述的片上系统,其中由相应设备主件发出的每个事务包括寻址字段,所述寻址字段的内容旨在寻址接收所述事务的所述从资源,并且所述寻址字段的所述内容不属于所述配置信息片段集合。
23.根据权利要求1所述的片上系统,其中由相应设备主件发出的每个事务包括寻址字段,所述寻址字段的内容旨在寻址接收所述事务的所述从资源,并且所述处理单元还包括添加单元,所述添加单元被配置为向由相应的所述设备主件发出的每个事务添加至少所述设备主件的所述标识信息片段,所述标识信息片段不属于所述事务的所述寻址字段。
24.根据权利要求23所述的片上系统,其中所述添加单元针对每个设备主件包括基本管理单元,所述基本管理单元被配置为访问被分配给所述设备主件的所述标识信息片段,并且可选地访问安全性信息片段和/或特权信息片段,并且所述基本管理单元被配置为向由所述设备主件发出的任何事务添加所述标识信息片段,并且可选地添加所述安全性信息片段和/或所述特权信息片段。
25.根据权利要求24所述的片上系统,
其中被分配给从资源的配置寄存器集合旨在存储被分配给所述从资源的所述配置信息片段;
其中被分配给每个设备主件的配置寄存器集合旨在存储被分配给所述设备主件的所述标识信息片段、以及被分配给所述设备主件的所述配置信息片段;以及
其中被分配给相应设备主件的每个基本管理单元通过专用链路至少被连接到被分配给所述设备主件的所述配置寄存器集合。
26.根据权利要求1所述的片上系统,其中所述片上系统是微控制器或微处理器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1913124 | 2019-11-22 | ||
FR1913124A FR3103586B1 (fr) | 2019-11-22 | 2019-11-22 | Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948321A CN112948321A (zh) | 2021-06-11 |
CN112948321B true CN112948321B (zh) | 2024-03-05 |
Family
ID=70295214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011319314.XA Active CN112948321B (zh) | 2019-11-22 | 2020-11-23 | 用于管理片上系统的操作的方法和对应的片上系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11700174B2 (zh) |
CN (1) | CN112948321B (zh) |
FR (1) | FR3103586B1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3103586B1 (fr) | 2019-11-22 | 2023-04-14 | St Microelectronics Alps Sas | Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant |
FR3103584B1 (fr) | 2019-11-22 | 2023-05-05 | St Microelectronics Alps Sas | Procédé de gestion du débogage d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant |
FR3103585B1 (fr) | 2019-11-22 | 2023-04-14 | Stmicroelectronics Grand Ouest Sas | Procédé de gestion de la configuration d’accès à des périphériques et à leurs ressources associées d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant |
US20220156217A1 (en) * | 2019-11-22 | 2022-05-19 | Stmicroelectronics (Rousset) Sas | Method for managing the operation of a system on chip, and corresponding system on chip |
CN114095354A (zh) * | 2020-08-07 | 2022-02-25 | 艾锐势企业有限责任公司 | 电子设备、用于电子设备的方法、计算机可读介质以及装置 |
CN113297563B (zh) * | 2021-06-18 | 2023-01-24 | 海光信息技术股份有限公司 | 访问片上系统特权资源的方法、装置及片上系统 |
FR3128545A1 (fr) * | 2021-10-25 | 2023-04-28 | STMicroelectronics (Grand Ouest) SAS | Procédé de transaction entre une application et un périphérique |
FR3129499A1 (fr) | 2021-11-25 | 2023-05-26 | STMicroelectronics (Grand Ouest) SAS | Gestion dynamique d’un pare-feu de mémoire |
FR3129502A1 (fr) | 2021-11-25 | 2023-05-26 | STMicroelectronics (Alps) SAS | Gestion d’un pare-feu de mémoire dans un système sur puce |
FR3142570A1 (fr) | 2022-11-25 | 2024-05-31 | STMicroelectronics (Alps) SAS | Système sur puce comportant un système d’isolation des ressources et procédé de gestion de l’isolation des ressources correspondant. |
FR3142569A1 (fr) | 2022-11-25 | 2024-05-31 | STMicroelectronics (Grand Ouest) SAS | Procédé de gestion de l’isolation de ressources d’un système sur puce, et système sur puce correspondant. |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138228A (en) * | 1997-07-31 | 2000-10-24 | T.Sqware Inc. | Protocol and bus link system between components of a micro-controller |
CN1497468A (zh) * | 2002-10-10 | 2004-05-19 | �Ҵ���˾ | 利用无数据事务获得全局促进工具的方法、设备和系统 |
US8327034B2 (en) * | 2003-01-22 | 2012-12-04 | Arm Norway As | Microprocessor systems |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5919255A (en) | 1997-03-12 | 1999-07-06 | Texas Instruments Incorporated | Method and apparatus for processing an interrupt |
US6145041A (en) | 1998-04-24 | 2000-11-07 | Alcatel Usa Sourcing, Lp | Remote multi-level control bus |
US6546496B1 (en) | 2000-02-16 | 2003-04-08 | 3Com Corporation | Network interface with power conservation using dynamic clock control |
US7139947B2 (en) | 2000-12-22 | 2006-11-21 | Intel Corporation | Test access port |
US7228440B1 (en) | 2002-02-13 | 2007-06-05 | Lsi Corporation | Scan and boundary scan disable mechanism on secure device |
US7421478B1 (en) | 2002-03-07 | 2008-09-02 | Cisco Technology, Inc. | Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration |
US7023979B1 (en) | 2002-03-07 | 2006-04-04 | Wai Wu | Telephony control system with intelligent call routing |
US7010722B2 (en) | 2002-09-27 | 2006-03-07 | Texas Instruments Incorporated | Embedded symmetric multiprocessor system debug |
US6762638B2 (en) * | 2002-10-16 | 2004-07-13 | International Business Machines Corporation | Circuit for preserving data in a flip-flop and a method of use |
US20030108030A1 (en) * | 2003-01-21 | 2003-06-12 | Henry Gao | System, method, and data structure for multimedia communications |
US20040158784A1 (en) | 2003-02-06 | 2004-08-12 | Transwitch Corporation | Microprocessor based self-diagnostic port |
US7039894B2 (en) | 2003-04-28 | 2006-05-02 | International Business Machines Corporation | Method, system and program product for specifying and using dials having phased default values to configure a simulated or physical digital system |
US20050188248A1 (en) | 2003-05-09 | 2005-08-25 | O'brien John | Scalable storage architecture |
US20050235281A1 (en) * | 2004-04-19 | 2005-10-20 | Telefonaktiebolaget L M Ericsson (Publ) | Combined software installation package |
FR2880963B3 (fr) | 2005-01-19 | 2007-04-20 | Atmel Corp | Points d'arrets logiciels destines a etre utilises avec des dispositifs a memoire |
US7515831B2 (en) | 2005-02-25 | 2009-04-07 | O2Micro International Ltd. | System and method for auto-configuring a telecommunication device with an embedded controller |
US7542784B2 (en) | 2005-02-25 | 2009-06-02 | Kleer Semiconductor Corporation | High quality, low power, wireless audio system |
US20070116023A1 (en) * | 2005-11-23 | 2007-05-24 | Broadcom Corporation | Method and apparatus for dynamically configuring a generic processing module |
US7554357B2 (en) * | 2006-02-03 | 2009-06-30 | Lattice Semiconductor Corporation | Efficient configuration of daisy-chained programmable logic devices |
US7988441B2 (en) * | 2006-08-30 | 2011-08-02 | Konica Minolta Opto, Inc. | Optical element molding apparatus |
US8160056B2 (en) | 2006-09-08 | 2012-04-17 | At&T Intellectual Property Ii, Lp | Systems, devices, and methods for network routing |
US7817470B2 (en) | 2006-11-27 | 2010-10-19 | Mosaid Technologies Incorporated | Non-volatile memory serial core architecture |
US8151118B2 (en) * | 2007-01-29 | 2012-04-03 | Microsoft Corporation | Master-slave security devices |
JP2008206038A (ja) | 2007-02-22 | 2008-09-04 | Fujitsu Ltd | 分周回路 |
US20080209007A1 (en) * | 2007-02-27 | 2008-08-28 | Tekelec | Methods, systems, and computer program products for accessing data associated with a plurality of similarly structured distributed databases |
US8706914B2 (en) * | 2007-04-23 | 2014-04-22 | David D. Duchesneau | Computing infrastructure |
US7870455B2 (en) | 2007-12-12 | 2011-01-11 | Infineon Technologies Ag | System-on-chip with master/slave debug interface |
US8254355B2 (en) | 2008-09-17 | 2012-08-28 | Airhop Communications, Inc. | Method and apparatus for utilizing a second receiver to establish time and frequency |
US8234489B2 (en) | 2009-07-15 | 2012-07-31 | Arm Limited | Set of system configuration registers having shadow register |
US20110016310A1 (en) * | 2009-07-20 | 2011-01-20 | Infineon Technologies Ag | Secure serial interface with trusted platform module |
US8516551B2 (en) * | 2010-07-28 | 2013-08-20 | Intel Corporation | Providing a multi-phase lockstep integrity reporting mechanism |
US8682639B2 (en) * | 2010-09-21 | 2014-03-25 | Texas Instruments Incorporated | Dedicated memory window for emulation address |
US8789170B2 (en) * | 2010-09-24 | 2014-07-22 | Intel Corporation | Method for enforcing resource access control in computer systems |
US9065799B2 (en) * | 2011-04-15 | 2015-06-23 | Lockheed Martin Corporation | Method and apparatus for cyber security |
KR101766835B1 (ko) | 2011-05-04 | 2017-08-09 | 에스프린팅솔루션 주식회사 | 화상형성장치 및 그 제어 방법 |
US9053233B2 (en) * | 2011-08-15 | 2015-06-09 | Freescale Semiconductor, Inc. | Method and device for controlling debug event resources |
US8954721B2 (en) * | 2011-12-08 | 2015-02-10 | International Business Machines Corporation | Multi-chip initialization using a parallel firmware boot process |
US11144630B2 (en) | 2011-12-30 | 2021-10-12 | Bedrock Automation Platforms Inc. | Image capture devices for a secure industrial control system |
US8995272B2 (en) | 2012-01-26 | 2015-03-31 | Brocade Communication Systems, Inc. | Link aggregation in software-defined networks |
US20140006644A1 (en) | 2012-06-28 | 2014-01-02 | Lsi Corporation | Address Remapping Using Interconnect Routing Identification Bits |
GB2500074B (en) | 2012-07-09 | 2014-08-20 | Ultrasoc Technologies Ltd | Debug architecture |
US9091727B1 (en) | 2012-10-16 | 2015-07-28 | Xilinx, Inc. | Configuration and testing of multiple-die integrated circuits |
IL224112A (en) * | 2013-01-03 | 2017-02-28 | B G Negev Tech And Applications Ltd | A method for finding non-essential flip-flops that do not require keeping the media in standby mode in the vlsi circuit |
FR3003054B1 (fr) * | 2013-03-06 | 2016-08-19 | Sagem Defense Securite | Procede et dispositif de filtrage de transactions pour systeme sur puce |
GB2518255A (en) * | 2013-09-13 | 2015-03-18 | Vodafone Ip Licensing Ltd | Communicating with a machine to machine device |
US10440080B2 (en) * | 2013-10-18 | 2019-10-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Software-defined media platform |
US9842043B2 (en) | 2014-02-18 | 2017-12-12 | Hariprakash Agrawal | System and method to implement an electronic document based automated testing of a software application |
US9473489B2 (en) * | 2014-09-29 | 2016-10-18 | Aerohive Networks, Inc. | Private simultaneous authentication of equals |
US9727679B2 (en) | 2014-12-20 | 2017-08-08 | Intel Corporation | System on chip configuration metadata |
US10025746B2 (en) * | 2014-12-20 | 2018-07-17 | Intel Corporation | High performance interconnect |
US9430347B2 (en) | 2014-12-23 | 2016-08-30 | Intel Corporation | Delayed authentication debug policy |
US9639184B2 (en) * | 2015-03-19 | 2017-05-02 | Apple Inc. | Touch input cursor manipulation |
US10037280B2 (en) | 2015-05-29 | 2018-07-31 | Qualcomm Incorporated | Speculative pre-fetch of translations for a memory management unit (MMU) |
US10426865B2 (en) * | 2015-12-18 | 2019-10-01 | Bionutratech, Inc. | Absorbent pad that includes a fatty acid composition for odor control |
US11088876B1 (en) * | 2016-03-28 | 2021-08-10 | Marvell Asia Pte, Ltd. | Multi-chip module with configurable multi-mode serial link interfaces |
US9946674B2 (en) * | 2016-04-28 | 2018-04-17 | Infineon Technologies Ag | Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller |
US10372883B2 (en) * | 2016-06-24 | 2019-08-06 | Scripps Networks Interactive, Inc. | Satellite and central asset registry systems and methods and rights management systems |
US10063389B2 (en) | 2016-07-07 | 2018-08-28 | Caterpillar Inc. | Identifying and configuring multiple smart devices on a CAN bus |
US11112418B1 (en) * | 2016-07-29 | 2021-09-07 | Labrador Diagnostics Llc | Systems and methods for multi-analysis |
KR102524239B1 (ko) * | 2017-02-23 | 2023-04-24 | 메이븐 와이어리스 스웨덴 에이비 | Das에서 집합 캐리어들의 라우팅 |
US20190019147A1 (en) * | 2017-07-13 | 2019-01-17 | FedEx Supply Chain Logistics & Electronics, Inc. | System and method for device clearing and re-inventory |
JP6965626B2 (ja) * | 2017-08-17 | 2021-11-10 | 富士通株式会社 | ストレージ制御装置、および制御プログラム |
US10176131B1 (en) * | 2017-09-27 | 2019-01-08 | Xilinx, Inc. | Controlling exclusive access using supplemental transaction identifiers |
US10713062B2 (en) | 2017-12-07 | 2020-07-14 | Dell Products, L.P. | System and method for configuring an information handling system |
US10990294B2 (en) | 2018-03-26 | 2021-04-27 | Western Digital Technologies, Inc. | Non-volatile storage system with multi-read mode |
US10635622B2 (en) * | 2018-04-03 | 2020-04-28 | Xilinx, Inc. | System-on-chip interface architecture |
TWI698752B (zh) | 2018-08-22 | 2020-07-11 | 新唐科技股份有限公司 | 積體電路、匯流排系統以及其控制方法 |
TWM571980U (zh) | 2018-09-19 | 2018-12-21 | 聚晶半導體股份有限公司 | 雙鏡頭模組 |
US11082339B2 (en) * | 2018-10-12 | 2021-08-03 | Hewlett Packard Enterprise Development Lp | Domain name system (DNS) optimization for wide area networks |
US11050570B1 (en) * | 2018-11-21 | 2021-06-29 | Amazon Technologies, Inc. | Interface authenticator |
FR3093830B1 (fr) | 2019-03-11 | 2021-03-12 | St Microelectronics Rousset | Procédé de gestion d’accès à un bus partagé, et dispositif électronique correspondant |
US10917378B1 (en) * | 2019-05-21 | 2021-02-09 | Juniper Networks, Inc. | Facilitating communication between network devices of a virtual router redundancy protocol (VRRP) group |
US11144235B1 (en) * | 2019-08-07 | 2021-10-12 | Xlnx, Inc. | System and method for evaluating memory system performance |
US11182110B1 (en) * | 2019-08-21 | 2021-11-23 | Xilinx, Inc. | On-chip memory block circuit |
US11175839B1 (en) * | 2019-10-22 | 2021-11-16 | Amazon Technologies, Inc. | Independently configurable remapping for interconnect access requests |
FR3103586B1 (fr) * | 2019-11-22 | 2023-04-14 | St Microelectronics Alps Sas | Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant |
FR3103585B1 (fr) | 2019-11-22 | 2023-04-14 | Stmicroelectronics Grand Ouest Sas | Procédé de gestion de la configuration d’accès à des périphériques et à leurs ressources associées d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant |
FR3103584B1 (fr) | 2019-11-22 | 2023-05-05 | St Microelectronics Alps Sas | Procédé de gestion du débogage d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant |
-
2019
- 2019-11-22 FR FR1913124A patent/FR3103586B1/fr active Active
-
2020
- 2020-11-18 US US16/951,198 patent/US11700174B2/en active Active
- 2020-11-23 CN CN202011319314.XA patent/CN112948321B/zh active Active
-
2023
- 2023-05-22 US US18/321,516 patent/US11962462B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138228A (en) * | 1997-07-31 | 2000-10-24 | T.Sqware Inc. | Protocol and bus link system between components of a micro-controller |
CN1497468A (zh) * | 2002-10-10 | 2004-05-19 | �Ҵ���˾ | 利用无数据事务获得全局促进工具的方法、设备和系统 |
US8327034B2 (en) * | 2003-01-22 | 2012-12-04 | Arm Norway As | Microprocessor systems |
Non-Patent Citations (1)
Title |
---|
基于DSP和单片机的双CPU数据处理系统;朱国庆, 付梦印;计算机工程与应用(21);116-118 * |
Also Published As
Publication number | Publication date |
---|---|
FR3103586A1 (fr) | 2021-05-28 |
FR3103586B1 (fr) | 2023-04-14 |
US20230291645A1 (en) | 2023-09-14 |
CN112948321A (zh) | 2021-06-11 |
US11700174B2 (en) | 2023-07-11 |
US20210160134A1 (en) | 2021-05-27 |
US11962462B2 (en) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112948321B (zh) | 用于管理片上系统的操作的方法和对应的片上系统 | |
JP4756603B2 (ja) | データプロセッサ | |
US11876732B2 (en) | Method for managing the configuration of access to peripherals and their associated resources of a system on chip, and corresponding system on chip | |
US11829188B2 (en) | Method for managing the debugging of a system on chip forming for example a microcontroller, and corresponding system on chip | |
EP2660752B1 (en) | Memory protection circuit, processing unit, and memory protection method | |
USRE41293E1 (en) | Multiprocessor computer having configurable hardware system domains | |
JP2003518287A (ja) | デュアルモードプロセッサ | |
US20220156217A1 (en) | Method for managing the operation of a system on chip, and corresponding system on chip | |
US20110161644A1 (en) | Information processor | |
US9104472B2 (en) | Write transaction interpretation for interrupt assertion | |
US8434127B2 (en) | Access control system, access control method, electronic device and control program | |
US20080178261A1 (en) | Information processing apparatus | |
US11386037B2 (en) | Management of access restriction within a system on chip | |
WO2008030727A2 (en) | Access control of memory space in microprocessor systems | |
EP3814973A1 (en) | Secure peripheral interconnect | |
US20230161484A1 (en) | Dynamic management of a memory firewall | |
CN102929802B (zh) | 一种存储资源的保护方法及系统 | |
CN116340243A (zh) | 一种双核可信执行的安全芯片架构 | |
JP2007109053A (ja) | バスアクセス制御装置 | |
US20190042732A1 (en) | Technologies for usb controller state integrity protection | |
US7770046B2 (en) | Management of time information within a plurality of execution spaces | |
US20230161485A1 (en) | Management of a memory firewall in a system on chip | |
US6836840B2 (en) | Slaves with identification and selection stages for group write | |
US20230267094A1 (en) | System on a chip and method for operating a system on a chip | |
Uchiyama et al. | Software Environments |
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 |