TW202334827A - Electronic device including access control identifiers for controlling access to peripherals - Google Patents

Electronic device including access control identifiers for controlling access to peripherals Download PDF

Info

Publication number
TW202334827A
TW202334827A TW111150292A TW111150292A TW202334827A TW 202334827 A TW202334827 A TW 202334827A TW 111150292 A TW111150292 A TW 111150292A TW 111150292 A TW111150292 A TW 111150292A TW 202334827 A TW202334827 A TW 202334827A
Authority
TW
Taiwan
Prior art keywords
access
peripheral device
access control
transaction host
identification code
Prior art date
Application number
TW111150292A
Other languages
Chinese (zh)
Inventor
烏里 西格爾
理查德 沃勒
阿爾特瑪斯 史班席爾
Original Assignee
美商微晶片科技公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US18/070,884 external-priority patent/US20230214507A1/en
Application filed by 美商微晶片科技公司 filed Critical 美商微晶片科技公司
Publication of TW202334827A publication Critical patent/TW202334827A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

An electronic device includes a transaction host, a first peripheral, a second peripheral, a first access controller connected to the first peripheral, a second access controller connected to the second peripheral, and an access control register storing a first access control identifier for the first peripheral and a second access control identifier for the second peripheral. The first access controller to receive an access request for access to the first peripheral by the transaction host, perform an access determination for the first peripheral based at least on the first access control identifier for the first peripheral, and allow or prevent the transaction host access to the first peripheral based on the access determination.

Description

包括用於控制對周邊設備的存取之存取控制識別碼的電子裝置Electronic devices including access control identification codes for controlling access to peripheral devices

[相關專利申請案][Related patent applications]

本申請案主張2022年1月3日申請之共同擁有之美國臨時專利申請案第63/295,962號之優先權,該申請案之全部內容出於所有目的以引用之方式併入本文中。This application claims priority from commonly owned U.S. Provisional Patent Application No. 63/295,962, filed on January 3, 2022, the entire contents of which are incorporated herein by reference for all purposes.

本發明係關於一種包括周邊設備之電子裝置,且更特別地,係關於一種包括用於控制對周邊設備之存取的存取控制識別碼的電子裝置。The present invention relates to an electronic device including a peripheral device, and more particularly, to an electronic device including an access control identification code for controlling access to the peripheral device.

系統晶片(system on a chip) (亦被稱作系統晶片(system-on-chip)或者SoC)為將電子系統或者電腦系統整合於單晶片上之積體電路(IC)。SoC通常包括至少一個處理器,例如中央處理單元(CPU)、微控制器或者微處理器(MPU)及各種周邊設備裝置,例如輸入/輸出埠、內部記憶體,以及類比輸入及輸出區塊,例如無線電數據機、圖形處理單元(GPU)及/或一或多個共處理器,其均在單一基板或者微晶片上。SoC可經設計用於各種功能,例如,信號處理、無線通信或者人工智慧。A system on a chip (also known as system-on-chip or SoC) is an integrated circuit (IC) that integrates an electronic system or computer system on a single chip. SoC usually includes at least one processor, such as a central processing unit (CPU), a microcontroller or a microprocessor (MPU) and various peripheral devices, such as input/output ports, internal memory, and analog input and output blocks. For example, a radio modem, a graphics processing unit (GPU), and/or one or more co-processors, all on a single substrate or microchip. SoCs can be designed for a variety of functions, such as signal processing, wireless communications, or artificial intelligence.

在一些SoC中,在處理器上運行之韌體已完全存取SoC上之所有周邊設備,而不管處理器之當前操作模式,例如特權模式或者使用者模式。此可導致故障或者其他不合需要的後果。舉例而言,與一個周邊設備對應的故障或者惡意韌體裝置驅動程式可錯誤地(或者惡意地)存取且損壞另一周邊設備,例如,藉由更改設置於另一周邊設備中之暫存器。In some SoCs, the firmware running on the processor has full access to all peripherals on the SoC, regardless of the current operating mode of the processor, such as privileged mode or user mode. This can lead to malfunctions or other undesirable consequences. For example, a faulty or malicious firmware device driver corresponding to one peripheral device can mistakenly (or maliciously) access and damage another peripheral device, for example, by changing the temporary storage set in the other peripheral device. device.

需要對在SoC或者其他電子裝置中提供之周邊設備進行改良的、低成本存取控制,例如保護周邊設備免受故障或者惡意韌體影響。There is a need for improved, low-cost access control of peripheral devices provided in SoCs or other electronic devices, such as to protect peripheral devices from malfunctions or malicious firmware.

提供用於控制對電子裝置(例如,SoC或者其他電子裝置)中之周邊設備的存取之系統及方法,例如保護周邊設備免受錯誤或者惡意存取。一些實例提供對應於各別周邊設備及各別存取控制器之可程式化(例如,可更新的)存取控制識別碼,以用於至少基於存取控制識別碼控制對各別周邊設備之存取。存取控制識別碼可包括一或多個位元,在本文中被稱作存取控制位元。存取控制識別碼可用於在使用者-空間任務(例如,與所選擇周邊設備相聯結之裝置驅動程式操作)之執行期間保護周邊設備。舉例而言,為執行與選定周邊設備相關之各別任務(例如,裝置驅動程式操作),交易主機(例如,處理器)可執行監督韌體或者其他監督程式碼以程式化(例如,設定或者更新)存取控制暫存器中之各別存取控制識別碼,以(a)允許各別任務存取選定周邊設備,且(b)防止各別任務存取其他周邊設備,例如,防止各別任務錯誤地或者惡意地存取其他周邊設備中之任一者中的暫存器。在一些實例中,存取控制器可使得交易主機(例如,處理器)能夠程式化(例如,設定或者更新)各別存取控制識別碼以允許在特權模式操作(例如,相關監督韌體之執行)期間監督程式碼對所有周邊設備之存取。Systems and methods are provided for controlling access to peripheral devices in an electronic device (eg, SoC or other electronic device), such as to protect peripheral devices from erroneous or malicious access. Some examples provide programmable (e.g., updateable) access control identifiers corresponding to respective peripheral devices and respective access controllers for controlling access to the respective peripheral devices based at least on the access control identifiers. access. The access control identification code may include one or more bits, referred to herein as access control bits. Access control identifiers may be used to protect peripheral devices during the execution of user-space tasks (eg, device driver operations associated with selected peripheral devices). For example, to perform respective tasks associated with selected peripheral devices (e.g., device driver operations), a transaction host (e.g., processor) may execute supervisory firmware or other supervisory code to program (e.g., configure or Update the respective access control identifiers in the access control register to (a) allow the respective tasks to access the selected peripheral device, and (b) prevent the respective tasks from accessing other peripheral devices, e.g., prevent each A specific task may mistakenly or maliciously access registers in any of the other peripheral devices. In some examples, the access controller may enable a transaction host (e.g., a processor) to program (e.g., set or update) individual access control identifiers to allow operation in a privileged mode (e.g., within associated supervisory firmware). Supervise the code's access to all peripheral devices during execution).

在一些實例中,儲存用於各別任務(例如,裝置驅動程式操作)之各別位元遮罩,其中用於各別任務之位元遮罩指示各別周邊設備之用於進行各別任務的各別存取設定。在執行各別任務之前,交易主機可存取與各別任務相聯結的位元遮罩,且程式化(例如,設定或者更新)存取控制暫存器中之各別存取控制識別碼。經程式化之各別存取控制識別碼可由與各別周邊設備相聯結之存取控制器存取及使用以在各別任務之執行期間控制對各別周邊設備之存取。In some examples, separate bit masks are stored for respective tasks (e.g., device driver operations), where the bit masks for respective tasks indicate the use of respective peripheral devices to perform the respective tasks individual access settings. Prior to executing the respective tasks, the transaction host may access the bit mask associated with the respective tasks and program (eg, set or update) the respective access control identifiers in the access control register. The programmed individual access control identifiers can be accessed and used by the access controller associated with the respective peripheral device to control access to the respective peripheral device during execution of the respective task.

在一些應用中,存取控制識別碼及存取控制器可消除對複雜軟體之需求,因此允許較小或者較不昂貴的處理器(例如,在SoC中)。In some applications, access control identifiers and access controllers can eliminate the need for complex software, thus allowing smaller or less expensive processors (eg, in SoCs).

一個態樣提供一種電子裝置,其包括:交易主機;第一周邊設備;第二周邊設備;第一存取控制器,其連接至第一周邊設備;第二存取控制器,其連接至第二周邊設備;及存取控制暫存器,其儲存用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼。第一存取控制器用以接收由交易主機存取第一周邊設備之存取請求,至少基於用於第一周邊設備之第一存取控制識別碼而進行對第一周邊設備之存取判定;且基於存取判定允許或者防止交易主機存取第一周邊設備。One aspect provides an electronic device, which includes: a transaction host; a first peripheral device; a second peripheral device; a first access controller connected to the first peripheral device; and a second access controller connected to the first peripheral device. two peripheral devices; and an access control register that stores a first access control identification code for the first peripheral device and a second access control identification code for the second peripheral device. The first access controller is configured to receive an access request from the transaction host to access the first peripheral device, and make an access determination to the first peripheral device based at least on the first access control identification code for the first peripheral device; And based on the access determination, the transaction host is allowed or prevented from accessing the first peripheral device.

在一些實例中,交易主機包含處理器或者直接記憶體存取(DMA)引擎。In some examples, the trading host includes a processor or direct memory access (DMA) engine.

在一些實例中,交易主機包含橋接器,該橋接器用以自與電子裝置分離之外部主機接收請求以存取第一周邊設備。In some examples, the transaction host includes a bridge to receive a request to access the first peripheral device from an external host separate from the electronic device.

在一些實例中,第一存取控制識別碼包括一或多個第一存取控制位元,且第二存取控制識別碼包括一或多個第二存取控制位元。In some examples, the first access control identification code includes one or more first access control bits, and the second access control identification code includes one or more second access control bits.

在一些實例中,電子裝置包含可由交易主機執行的韌體,用以基於交易主機之操作模式而程式化第一存取控制識別碼及第二存取控制識別碼之至少一者。In some examples, the electronic device includes firmware executable by the transaction host to program at least one of the first access control identifier and the second access control identifier based on an operating mode of the transaction host.

在一些實例中,電子裝置包含可由交易主機執行之韌體,用以在(a)允許由交易主機存取各別周邊設備之存取允許設定與(b)防止由交易主機存取各別周邊設備之存取防止設定之間程式化用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼的至少一者。In some examples, the electronic device includes firmware executable by the transaction host to (a) allow access by the transaction host to the respective peripheral device and (b) prevent access by the transaction host to the respective peripheral device. At least one of a first access control identification code for the first peripheral device and a second access control identification code for the second peripheral device is programmed between the access prevention settings of the device.

在一些實例中,電子裝置包含可由交易主機執行之韌體,用以程式化第一存取控制識別碼及第二存取控制識別碼,包括:(a)對於交易主機之特權模式操作,用以將第一存取控制識別碼及第二存取控制識別碼兩者程式化為存取允許設定以允許由交易主機存取第一周邊設備及第二周邊設備兩者;(b)對於用以進行與第一周邊設備相關的操作之交易主機之第一使用者模式操作,用以將第一存取控制識別碼程式化為存取允許設定以允許存取第一周邊設備,且用以將第二存取控制識別碼程式化為存取防止設定以防止存取第二周邊設備;及(c)對於用以進行與第二周邊設備相關的操作之交易主機之第二使用者模式操作,用以將第一存取控制識別碼程式化為存取防止設定以防止存取第一周邊設備,且用以將第二存取控制識別碼程式化為存取允許設定以允許存取第二周邊設備。In some examples, the electronic device includes firmware executable by the transaction host to program the first access control identifier and the second access control identifier, including: (a) for privileged mode operation of the transaction host, using Programming the first access control identification code and the second access control identification code into access permission settings to allow the transaction host to access both the first peripheral device and the second peripheral device; (b) for the user operating in a first user mode of the transaction host for performing operations related to the first peripheral device, for programming the first access control identification code into an access permission setting to allow access to the first peripheral device, and for Programming the second access control identifier into an access prevention setting to prevent access to the second peripheral device; and (c) second user mode operation of the transaction host for performing operations related to the second peripheral device , for programming the first access control identification code into an access prevention setting to prevent access to the first peripheral device, and for programming the second access control identification code into an access permission setting to allow access to the third peripheral device. 2. Peripheral equipment.

在一些實例中,存取控制器用以至少基於(a)用於第一周邊設備之周邊設備特定存取控制識別碼及(b)指示交易主機之特權模式及交易主機之使用者模式的操作模式信號而進行對第一周邊設備之存取判定。In some examples, the access controller is configured to operate based on at least (a) a peripheral-specific access control identifier for the first peripheral device and (b) an operating mode indicative of a privileged mode of the transaction host and a user mode of the transaction host. The signal is used to determine access to the first peripheral device.

在一些實例中,用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼分別指示以下任一者:(a)受限存取設定,其用以允許僅在交易主機之特權模式中存取各別周邊設備,或者(b)開放存取設定,其用以允許在交易主機之特權模式及交易主機之使用者模式兩者中存取各別周邊設備。In some examples, the first access control identification code for the first peripheral device and the second access control identification code for the second peripheral device respectively indicate any of the following: (a) restricted access settings, This is used to allow access to the respective peripheral only in the privileged mode of the trading host, or (b) an open access setting, which is used to allow access in both the privileged mode of the trading host and the user mode of the trading host Each peripheral device.

在一些實例中,電子裝置包含可由交易主機執行之韌體,用以在受限存取設定與開放存取設定之間程式化第一存取控制識別碼及第二存取控制識別碼之至少一者。In some examples, the electronic device includes firmware executable by the transaction host to program at least one of the first access control identifier and the second access control identifier between the restricted access setting and the open access setting. One.

在一些實例中,存取控制器用以(a)若用於第一周邊設備之第一存取控制識別碼指示開放存取設定且操作模式信號指示交易主機之特權模式,則判定允許存取第一周邊設備;(b)若用於第一周邊設備之第一存取控制識別碼指示開放存取設定且操作模式信號指示交易主機之使用者模式,則判定允許存取第一周邊設備;(c)若用於第一周邊設備之第一存取控制識別碼指示受限存取設定且操作模式信號指示交易主機之特權模式,則判定允許存取第一周邊設備;且(d)若用於第一周邊設備之第一存取控制識別碼指示受限存取設定且操作模式信號指示交易主機之使用者模式,則判定防止存取第一周邊設備。In some examples, the access controller is configured to (a) determine to allow access to the first peripheral device if the first access control identification code for the first peripheral device indicates an open access setting and the operating mode signal indicates a privileged mode of the transaction host; A peripheral device; (b) If the first access control identification code for the first peripheral device indicates an open access setting and the operating mode signal indicates the user mode of the transaction host, it is determined that access to the first peripheral device is allowed; ( c) If the first access control identification code for the first peripheral device indicates a restricted access setting and the operating mode signal indicates a privileged mode of the transaction host, it is determined that access to the first peripheral device is allowed; and (d) if with When the first access control identification code of the first peripheral device indicates a restricted access setting and the operation mode signal indicates a user mode of the transaction host, it is determined that access to the first peripheral device is prevented.

在一些實例中,交易主機可選擇性地在特權模式及使用者模式中操作;且第一存取控制識別碼及第二存取控制識別碼中之至少一者僅在交易主機之特權模式中為可程式化的。In some examples, the transaction host can selectively operate in privileged mode and user mode; and at least one of the first access control identifier and the second access control identifier only operates in the privileged mode of the transaction host is programmable.

在一些實例中,電子裝置包含在交易主機上運行之韌體,且其中允許或者防止存取第一周邊設備包含允許或者防止由在交易主機上運行之韌體存取第一周邊設備。In some examples, the electronic device includes firmware running on the transaction host, and wherein allowing or preventing access to the first peripheral device includes allowing or preventing access to the first peripheral device by the firmware running on the transaction host.

在一些實例中,存取控制暫存器設置於多個周邊設備中之指定周邊設備中。In some examples, the access control register is provided in a specific peripheral device among the plurality of peripheral devices.

在一些實例中,電子裝置包含額外交易主機,其中第一存取控制識別碼及第二存取控制識別碼與交易主機相聯結,其中存取控制暫存器儲存用於第一周邊設備且與額外交易主機相聯結之第三存取控制識別碼,及用於第二周邊設備且與額外交易主機相聯結之第四存取控制識別碼。存取控制器用以接收由額外交易主機存取第一周邊設備之額外存取請求;基於(a)識別額外交易主機之存取請求識別碼及(b)第三存取控制識別碼而進行對第一周邊設備之額外存取判定;且基於額外存取判定允許或者防止由額外交易主機存取第一周邊設備。In some examples, the electronic device includes an additional transaction host, wherein the first access control identification code and the second access control identification code are associated with the transaction host, and wherein the access control register is stored for the first peripheral device and is associated with the transaction host. a third access control identifier associated with the additional transaction host, and a fourth access control identifier for the second peripheral device associated with the additional transaction host. The access controller is configured to receive an additional access request from an additional transaction host to access the first peripheral device; and perform matching based on (a) the access request identification code identifying the additional transaction host and (b) the third access control identification code. an additional access determination of the first peripheral device; and allowing or preventing access to the first peripheral device by an additional transaction host based on the additional access determination.

在一些實例中,電子裝置為系統晶片(SoC)裝置。In some examples, the electronic device is a system-on-chip (SoC) device.

另一態樣提供一種方法,其包括:在包括交易主機、第一周邊設備及第二周邊設備及存取控制暫存器之電子裝置中,將(a)用於第一周邊設備之第一存取控制識別碼及(b)用於第二周邊設備之第二存取控制識別碼儲存於存取控制暫存器中。與第一周邊設備相聯結之第一存取控制器接收由交易主機存取第一周邊設備之請求。第一存取控制器至少基於用於第一周邊設備之第一存取控制識別碼而進行允許或者防止存取第一周邊設備之存取判定,且基於存取判定允許或者防止存取第一周邊設備。Another aspect provides a method, which includes: in an electronic device including a transaction host, a first peripheral device and a second peripheral device, and an access control register, using (a) a first step for the first peripheral device. The access control identification code and (b) the second access control identification code for the second peripheral device are stored in the access control register. A first access controller associated with the first peripheral device receives a request from the transaction host to access the first peripheral device. The first access controller makes an access determination to allow or prevent access to the first peripheral device based on at least a first access control identification code for the first peripheral device, and allows or prevents access to the first peripheral device based on the access determination. Peripheral equipment.

在一些實例中,方法包括由交易主機執行韌體以基於交易主機之操作模式而程式化第一存取控制識別碼及第二存取控制識別碼之至少一者。In some examples, the method includes executing firmware by the transaction host to program at least one of the first access control identifier and the second access control identifier based on an operating mode of the transaction host.

在一些實例中,方法包括由交易主機執行韌體,用以在(a)允許由交易主機存取各別周邊設備之存取允許設定與(b)防止由交易主機存取各別周邊設備之存取防止設定之間動態地程式化用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼的至少一者。In some examples, methods include executing, by the transaction host, firmware to configure (a) an access permission setting that allows access by the transaction host to the respective peripheral device and (b) preventing access by the transaction host to the respective peripheral device. At least one of a first access control identification code for the first peripheral device and a second access control identification code for the second peripheral device is dynamically programmed between access prevention settings.

在一些實例中,方法包括由交易主機執行韌體,用以程式化第一存取控制識別碼及第二存取控制識別碼,包括:(a)對於交易主機之特權模式操作,分別將第一存取控制識別碼及第二存取控制識別碼兩者設定為允許由交易主機存取第一周邊設備及第二周邊設備兩者之存取允許設定;(b)對於用於進行與第一周邊設備相關的操作之交易主機之第一使用者模式操作,將第一存取控制識別碼設定為存取允許設定,且將第二存取控制識別碼設定為防止存取第二周邊設備之存取防止設定;及(c)對於用於進行與第二周邊設備相關的操作之交易主機之第二使用者模式操作,將第一存取控制識別碼設定為存取防止設定,且將第二存取控制識別碼設定為存取允許設定。In some examples, the method includes executing firmware by the transaction host to program the first access control identifier and the second access control identifier, including: (a) for privileged mode operation of the transaction host, respectively An access control identification code and a second access control identification code are both set to allow the transaction host to access both the first peripheral device and the second peripheral device; (b) for performing the transaction with the first peripheral device; A first user mode operation of the transaction host for a peripheral device-related operation, setting the first access control identification code to the access permission setting, and setting the second access control identification code to prevent access to the second peripheral device the access prevention setting; and (c) for the second user mode operation of the transaction host used to perform operations related to the second peripheral device, set the first access control identification code as the access prevention setting, and The second access control identification code is set as the access permission setting.

在一些實例中,方法包括由第一存取控制器進行存取判定,用以至少基於(a)用於第一周邊設備之第一存取控制識別碼及(b)指示交易主機之特權模式及交易主機之使用者模式的操作模式信號而允許或者防止存取第一周邊設備。In some examples, the method includes making an access determination by the first access controller based on at least (a) a first access control identification code for the first peripheral device and (b) a privileged mode indicating the transaction host and the operation mode signal of the user mode of the transaction host to allow or prevent access to the first peripheral device.

在一些實例中,用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼分別指示以下任一者:(a)受限存取設定,其防止在交易主機之使用者模式中存取各別周邊設備,或者(b)開放存取設定,其允許在交易主機之特權模式及交易主機之使用者模式兩者中存取各別周邊設備。In some examples, the first access control identification code for the first peripheral device and the second access control identification code for the second peripheral device respectively indicate any of the following: (a) restricted access settings, which prevents access to the respective peripheral device in the user mode of the trading host, or (b) an open access setting which allows access to the respective peripheral device in both the privileged mode of the trading host and the user mode of the trading host .

在一些實例中,方法包括由交易主機執行韌體以在受限存取設定與開放存取設定之間動態地程式化第一存取控制識別碼及第二存取控制識別碼之至少一者。In some examples, the method includes executing firmware by the transaction host to dynamically program at least one of the first access control identifier and the second access control identifier between a restricted access setting and an open access setting. .

在一些實例中,進行存取判定以允許或者防止存取第一周邊設備包含:(a)若用於第一周邊設備之周邊設備特定存取控制識別碼指示開放存取設定且操作模式信號指示交易主機之特權模式,則允許存取第一周邊設備;(b)若用於第一周邊設備之第一存取控制識別碼指示開放存取設定且操作模式信號指示交易主機之使用者模式,則允許存取第一周邊設備;(c)若用於第一周邊設備之第一存取控制識別碼指示受限存取設定且操作模式信號指示交易主機之特權模式,則允許存取第一周邊設備;及(d)若用於第一周邊設備之第一存取控制識別碼指示受限存取設定且操作模式信號指示交易主機之使用者模式,則防止存取第一周邊設備。In some examples, making an access determination to allow or prevent access to the first peripheral device includes: (a) if the peripheral device-specific access control identification code for the first peripheral device indicates an open access setting and the operating mode signal indicates The privileged mode of the trading host allows access to the first peripheral device; (b) if the first access control identification code for the first peripheral device indicates an open access setting and the operating mode signal indicates the user mode of the trading host, then allow access to the first peripheral device; (c) if the first access control identification code for the first peripheral device indicates a restricted access setting and the operating mode signal indicates a privileged mode of the transaction host, then allow access to the first peripheral device peripheral device; and (d) preventing access to the first peripheral device if the first access control identification code for the first peripheral device indicates a restricted access setting and the operating mode signal indicates a user mode of the transaction host.

在一些實例中,方法包括允許在交易主機之特權模式中程式化第一存取控制識別碼,及防止在交易主機之使用者模式中程式化第一存取控制識別碼。In some examples, methods include allowing the first access control identifier to be programmed in a privileged mode of the transaction host and preventing the first access control identifier from being programmed in a user mode of the transaction host.

另一態樣提供一種方法,其包括:在包括交易主機、第一周邊設備及第二周邊設備及存取控制暫存器之電子裝置中,將用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼儲存於存取控制暫存器中。交易主機設定第一存取控制識別碼及第二存取控制識別碼以允許分別存取第一周邊設備及第二周邊設備,且交易主機在第一時間進行特權模式操作。隨後,交易主機設定(a)第一存取控制識別碼以允許由交易主機存取第一周邊設備及(b)第二存取控制識別碼以防止由交易主機存取第二周邊設備,且在第二時間進行與第一周邊設備相關的使用者模式操作。Another aspect provides a method, which includes: in an electronic device including a transaction host, a first peripheral device and a second peripheral device, and an access control register, using the first access control for the first peripheral device The identification code and the second access control identification code for the second peripheral device are stored in the access control register. The transaction host sets the first access control identification code and the second access control identification code to allow access to the first peripheral device and the second peripheral device respectively, and the transaction host performs a privileged mode operation at the first time. Subsequently, the transaction host sets (a) a first access control identifier to allow access by the transaction host to the first peripheral device and (b) a second access control identifier to prevent access by the transaction host to the second peripheral device, and A user mode operation related to the first peripheral device is performed at a second time.

在一些實例中,交易主機設定(a)第一存取控制識別碼以防止由交易主機存取第一周邊設備及(b)第二存取控制識別碼以允許由交易主機存取第二周邊設備,且在第三時間進行與第二周邊設備相關的使用者模式操作。In some examples, the transaction host sets (a) a first access control identifier to prevent access by the transaction host to the first peripheral device and (b) a second access control identifier to allow access by the transaction host to the second peripheral device. device, and performs a user mode operation related to the second peripheral device at a third time.

另一態樣提供一種電子裝置,其包括第一周邊設備、第二周邊設備、非暫時性記憶體、存取控制暫存器、交易主機、第一存取控制器及第二存取控制器。非暫時性記憶體儲存:(a)包括存取控制識別碼管理指令之監督韌體、(b)包括與第一周邊設備相關之第一任務的電腦可讀程式碼及(c)與第一任務對應之第一位元遮罩,第一位元遮罩指示用於進行第一任務之第一周邊設備及第二周邊設備的各別存取設定。存取控制暫存器包括用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼。交易主機用以執行監督韌體中之存取控制識別碼管理指令以基於與第一任務對應之第一位元遮罩而程式化存取控制暫存器中之第一及第二存取控制識別碼,且在基於第一位元遮罩程式化存取控制暫存器中之第一及第二存取控制識別碼之後,執行與第一周邊設備相關之第一任務。第一存取控制器用以至少基於存取控制暫存器中之基於第一位元遮罩程式化之第一存取控制識別碼而控制對第一周邊設備之存取,且第二存取控制器用以至少基於存取控制暫存器中之基於第一位元遮罩程式化之第二存取控制識別碼而控制對第二周邊設備之存取。Another aspect provides an electronic device, which includes a first peripheral device, a second peripheral device, a non-transitory memory, an access control register, a transaction host, a first access controller and a second access controller. . Non-transitory memory stores: (a) supervisory firmware including access control identifier management instructions, (b) computer-readable code including a first task associated with the first peripheral device, and (c) associated with the first peripheral device. The first element mask corresponding to the task, the first element mask instruction is used to perform respective access settings of the first peripheral device and the second peripheral device of the first task. The access control register includes a first access control identification code for the first peripheral device and a second access control identification code for the second peripheral device. The transaction host is configured to execute the access control identifier management instructions in the supervision firmware to program the first and second access controls in the access control register based on the first bit mask corresponding to the first task. an identification code, and after masking the first and second access control identification codes in the programmed access control register based on the first element mask, performing a first task related to the first peripheral device. The first access controller is configured to control access to the first peripheral device based on at least a first access control identification code programmed based on the first element mask in the access control register, and the second access controller The controller is configured to control access to the second peripheral device based on at least a second access control identification code based on the first element mask programming in the access control register.

在一些實例中,電子裝置為系統晶片(SoC)裝置。In some examples, the electronic device is a system-on-chip (SoC) device.

在一些實例中,交易主機包含處理器或者直接記憶體存取(DMA)引擎。In some examples, the trading host includes a processor or direct memory access (DMA) engine.

在一些實例中,第一位元遮罩及第二位元遮罩經儲存於非暫時性記憶體中之位元遮罩資料結構中。In some examples, the first bit mask and the second bit mask are stored in a bit mask data structure in non-transitory memory.

在一些實例中,第一位元遮罩包括指示用於進行第一任務之第一周邊設備之存取設定的一或多個第一位元遮罩位元及指示用於進行第一任務之第二周邊設備之存取設定的一或多個第二位元遮罩位元,且第一存取控制識別碼包括一或多個第一存取控制位元,且第二存取控制識別碼包括一或多個第二第一存取控制位元。In some examples, the first element mask includes one or more first element mask bits indicating access settings of the first peripheral device for performing the first task and indicating that the first element mask bit is used for performing the first task. One or more second bit mask bits of the access setting of the second peripheral device, and the first access control identification code includes one or more first access control bits, and the second access control identification code The code includes one or more second first access control bits.

在一些實例中,電腦可讀程式碼包含與第二周邊設備相關之第二任務;非暫時性記憶體儲存與第二任務對應之第二位元遮罩,第二位元遮罩指示用於進行第二任務之第一周邊設備及第二周邊設備之各別存取設定;且交易主機用以(a)執行監督韌體中之存取控制識別碼管理指令以基於與第二任務對應之第二位元遮罩而程式化存取控制暫存器中之第一及第二存取控制識別碼,且(b)在基於第二位元遮罩程式化存取控制暫存器中之第一及第二存取控制識別碼之後,執行與第二周邊設備相關之第二任務。In some examples, the computer-readable code includes a second task associated with the second peripheral device; the non-transitory memory stores a second bit mask corresponding to the second task, and the second bit mask instructions are used to Perform respective access settings of the first peripheral device and the second peripheral device of the second task; and the transaction host is used to (a) execute the access control identification code management instructions in the supervisory firmware based on the access control identifier corresponding to the second task The second bit mask is used to program the first and second access control identification codes in the access control register, and (b) the second bit mask is used to program the first and second access control identification codes in the access control register. After the first and second access control identification codes, a second task related to the second peripheral device is performed.

在一些實例中,非暫時性記憶體包括非特權部分及特權部分,非特權部分儲存包括第一任務及第二任務之電腦可讀程式碼,特權部分儲存包括存取控制識別碼管理指令之監督韌體及與第一任務對應之第一位元遮罩。In some examples, the non-transitory memory includes an unprivileged portion and a privileged portion, the unprivileged portion stores computer readable codes including the first task and the second task, and the privileged portion stores supervision including access control identifier management instructions. Firmware and first-dimensional mask corresponding to the first task.

在一些實例中,存取控制器用以自交易主機接收用於執行第一任務之存取第一周邊設備之存取請求;至少基於了基於與第一任務對應之第一位元遮罩程式化的第一存取控制識別碼而進行對第一周邊設備之存取判定;且基於存取判定允許或者防止交易主機存取第一周邊設備。In some examples, the access controller is configured to receive an access request from the transaction host to access the first peripheral device for performing a first task; at least based on a bit mask programming corresponding to the first task. The first access control identification code is used to perform an access determination on the first peripheral device; and based on the access determination, the transaction host is allowed or prevented from accessing the first peripheral device.

在一些實例中,第一存取控制器用以至少基於(a)由交易主機基於與第一任務對應之第一位元遮罩程式化的第一存取控制識別碼及(b)指示交易主機之特權模式或者交易主機之使用者模式的操作模式信號而進行對第一周邊設備之存取判定。In some examples, the first access controller is configured to instruct the transaction host based on at least (a) a first access control identifier programmed by the transaction host based on a bitmask corresponding to the first task and (b) Access to the first peripheral device is determined based on the operation mode signal of the privileged mode or the user mode of the transaction host.

在一些實例中,與第一任務對應之第一位元遮罩指示(a)第一任務分配有第一周邊設備之周邊存取許可,且(b)第一任務未分配有第二周邊設備之周邊存取許可。In some examples, the bitmask corresponding to the first task indicates that (a) the first task is assigned peripheral access permission of the first peripheral device, and (b) the first task is not assigned a second peripheral device Peripheral access permission.

在一些實例中,與第一任務對應之第一位元遮罩指示(a)第一任務分配有第一周邊設備之周邊存取許可,且(b)第一任務未分配有第二周邊設備之周邊存取許可。存取控制識別碼管理指令用以在執行第一任務之前基於第一位元遮罩程式化存取控制暫存器中之第一及第二存取控制識別碼,包括(a)將第一存取控制識別碼程式化為允許在執行第一任務期間存取第一周邊設備之存取允許值,及(b)將第二存取控制識別碼程式化為防止在執行第一任務期間存取第二周邊設備之存取防止值。第一存取控制器用以基於第一存取控制識別碼之存取允許值而允許在執行第一任務期間存取第一周邊設備,且第二存取控制器基於第二存取控制識別碼之存取防止值而防止在執行第一任務期間存取第二周邊設備。In some examples, the bitmask corresponding to the first task indicates that (a) the first task is assigned peripheral access permission of the first peripheral device, and (b) the first task is not assigned a second peripheral device Peripheral access permission. The access control ID management instruction is used to program the first and second access control IDs in the access control register based on the first element mask before executing the first task, including (a) changing the first the access control identity code is programmed to allow access to the access permission value of the first peripheral device during performance of the first task, and (b) the second access control identity code is programmed to prevent access to the first peripheral device during performance of the first task. Get the access protection value of the second peripheral device. The first access controller is used to allow access to the first peripheral device during execution of the first task based on the access permission value of the first access control identification code, and the second access controller is configured to allow access to the first peripheral device based on the second access control identification code. The access prevention value prevents access to the second peripheral device during execution of the first task.

在一些實例中,交易主機選擇性地在特權模式及使用者模式中操作;且與第一任務對應之第一位元遮罩指示(a)第一任務分配有第一周邊設備之周邊存取許可,且(b)第一任務未分配有第二周邊設備之周邊存取許可。存取控制識別碼管理指令用以在執行第一任務之前基於第一位元遮罩程式化存取控制暫存器中之第一及第二存取控制識別碼,包括(a)將第一存取控制識別碼程式化為第一周邊設備之開放存取設定,該開放存取設定允許在交易主機之特權模式及使用者模式兩者中存取第一周邊設備;及(b)將第二存取控制識別碼程式化為第二周邊設備之受限存取值,該受限存取值允許在交易主機之特權模式中但不在使用者模式中存取第二周邊設備。In some examples, the transaction host selectively operates in a privileged mode and a user mode; and the first element mask corresponding to the first task indicates that (a) the first task is assigned peripheral access of the first peripheral device permission, and (b) the first task is not assigned a peripheral access permission for the second peripheral device. The access control ID management instruction is used to program the first and second access control IDs in the access control register based on the first element mask before executing the first task, including (a) changing the first The access control identifier is programmed into an open access setting of the first peripheral device that allows access to the first peripheral device in both privileged mode and user mode of the transaction host; and (b) converting the first peripheral device to The second access control identifier is programmed into a restricted access value for the second peripheral device that allows access to the second peripheral device in privileged mode but not in user mode of the transaction host.

在一些實例中,存取控制暫存器設置於第三周邊設備中。In some examples, the access control register is provided in the third peripheral device.

另一態樣提供一種方法。方法包括:在包括交易主機、第一周邊設備、第二周邊設備以及包括用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼之存取控制暫存器的電子裝置中,儲存(a)包括與第一周邊設備相關之第一任務的電腦可讀程式碼及(b)與第一任務對應之第一位元遮罩,第一位元遮罩指示用於進行第一任務之第一周邊設備及第二周邊設備之各別存取設定。在執行第一任務之前,交易主機執行存取控制識別碼管理指令以基於與第一任務對應之第一位元遮罩而程式化存取控制暫存器中之第一及第二存取控制識別碼。在基於第一位元遮罩程式化存取控制暫存器中之第一及第二存取控制識別碼之後,交易主機執行與第一周邊設備相關之第一任務。在執行第一任務期間:與第一周邊設備相聯結之第一存取控制器至少基於存取控制暫存器中之基於第一位元遮罩程式化之第一存取控制識別碼而控制對第一周邊設備之存取;且與第二周邊設備相聯結之第二存取控制器至少基於存取控制暫存器中之基於第一位元遮罩程式化之第二存取控制識別碼而控制對第二周邊設備之存取。Another aspect provides a method. The method includes: storing a transaction host, a first peripheral device, a second peripheral device, and a storage device including a first access control identification code for the first peripheral device and a second access control identification code for the second peripheral device. In an electronic device that obtains a control register, (a) a computer-readable program code including a first task related to a first peripheral device and (b) a first element mask corresponding to the first task, the first The bit mask indicates respective access settings of the first peripheral device and the second peripheral device for performing the first task. Before executing the first task, the transaction host executes the access control identifier management instructions to program the first and second access controls in the access control register based on the first bit mask corresponding to the first task. Identification code. After masking the first and second access control identification codes in the programmed access control register based on the first element mask, the transaction host performs a first task related to the first peripheral device. During execution of the first task: the first access controller associated with the first peripheral device controls based on at least a first access control identification code based on the first element mask programming in the access control register. Access to the first peripheral device; and a second access controller associated with the second peripheral device based on at least a second access control identification based on the first element mask programming in the access control register code to control access to the second peripheral device.

在一些實例中,方法包括:儲存包括與第二周邊設備相關之第二任務的電腦可讀程式碼;及儲存與第二任務對應之第二位元遮罩,第二位元遮罩指示用於進行第二任務之第一周邊設備及第二周邊設備之各別存取設定。在執行第二任務之前,交易主機執行存取控制識別碼管理指令以基於與第二任務對應之第二位元遮罩而程式化存取控制暫存器中之第一及第二存取控制識別碼。在基於第二位元遮罩程式化存取控制暫存器中之第一及第二存取控制識別碼之後,交易主機執行與第二周邊設備相關之第二任務。在執行第二任務期間:與第一周邊設備相聯結之第一存取控制器至少基於存取控制暫存器中之基於第二位元遮罩程式化之第一存取控制識別碼而控制對第一周邊設備之存取;且與第二周邊設備相聯結之第二存取控制器至少基於存取控制暫存器中之基於第二位元遮罩程式化之第二存取控制識別碼而控制對第二周邊設備之存取。In some examples, the method includes: storing computer readable code including a second task associated with the second peripheral device; and storing a second bit mask corresponding to the second task, the second bit mask indicating Separate access settings for the first peripheral device and the second peripheral device performing the second task. Before executing the second task, the transaction host executes the access control ID management instructions to program the first and second access controls in the access control register based on the second bit mask corresponding to the second task. Identification code. After programming the first and second access control identification codes in the access control register based on the second bit mask, the transaction host performs a second task related to the second peripheral device. During execution of the second task: the first access controller associated with the first peripheral device controls based on at least the first access control identification code based on the second bit mask programming in the access control register. Access to the first peripheral device; and a second access controller associated with the second peripheral device based on at least a second access control identification based on the second bit mask programming in the access control register code to control access to the second peripheral device.

在一些實例中,至少基於了基於第一位元遮罩程式化之第一存取控制識別碼而控制對第一周邊設備之存取之第一存取控制器包含第一存取控制器:自交易主機接收用於執行第一任務之存取第一周邊設備之存取請求;至少基於了基於第一位元遮罩程式化之第一存取控制識別碼而進行對第一周邊設備之存取判定;及基於存取判定允許或者防止交易主機存取第一周邊設備。In some examples, the first access controller that controls access to the first peripheral device based on at least a first access control identification code programmed based on a first element mask includes a first access controller: Receive an access request from the transaction host to access the first peripheral device for performing the first task; and perform access to the first peripheral device based on at least a first access control identification code programmed based on the first element mask. an access determination; and allowing or preventing the transaction host from accessing the first peripheral device based on the access determination.

在一些實例中,方法包括第一存取控制器至少基於(a)基於第一位元遮罩程式化之第一存取控制識別碼及(b)指示交易主機之特權模式或者交易主機之使用者模式的操作模式信號而進行對第一周邊設備之存取判定。In some examples, the method includes the first access controller based on at least (a) a first access control identifier programmed based on a first element mask and (b) instructing a privileged mode of the transaction host or use of the transaction host According to the operation mode signal of the other mode, the access determination to the first peripheral device is performed.

在一些實例中,與第一任務對應之第一位元遮罩指示(a)第一任務分配有第一周邊設備之周邊存取許可,且(b)第一任務未分配有第二周邊設備之周邊存取許可。執行存取控制識別碼管理指令以基於與第一任務對應之第一位元遮罩而程式化存取控制暫存器中之第一及第二存取控制識別碼包含(a)將第一存取控制識別碼程式化為允許在執行第一任務期間存取第一周邊設備之存取允許值,及(b)將第二存取控制識別碼程式化為防止在執行第一任務期間存取第二周邊設備之存取防止值。在執行第一任務期間:與第一周邊設備相聯結之第一存取控制器基於第一存取控制識別碼之存取允許值而允許存取第一周邊設備,且與第二周邊設備相聯結之第二存取控制器基於第二存取控制識別碼之存取防止值而防止存取第二周邊設備。In some examples, the bitmask corresponding to the first task indicates that (a) the first task is assigned peripheral access permission of the first peripheral device, and (b) the first task is not assigned a second peripheral device Peripheral access permission. Executing the access control ID management instructions to program the first and second access control IDs in the access control register based on the first bit mask corresponding to the first task includes (a) converting the first the access control identity code is programmed to allow access to the access permission value of the first peripheral device during performance of the first task, and (b) the second access control identity code is programmed to prevent access to the first peripheral device during performance of the first task. Get the access protection value of the second peripheral device. During execution of the first task: the first access controller associated with the first peripheral device allows access to the first peripheral device based on the access permission value of the first access control identification code, and communicates with the second peripheral device The associated second access controller prevents access to the second peripheral device based on the access prevention value of the second access control identification code.

在一些實例中,交易主機選擇性地在特權模式及使用者模式中操作,且與第一任務對應之第一位元遮罩指示(a)第一任務分配有第一周邊設備之周邊存取許可,且(b)第一任務未分配有第二周邊設備之周邊存取許可。執行存取控制識別碼管理指令以基於與第一任務對應之第一位元遮罩而程式化存取控制暫存器中之第一及第二存取控制識別碼,包含(a)將第一存取控制識別碼程式化為第一周邊設備之開放存取值,該開放存取值允許在交易主機之特權模式及使用者模式兩者中存取第一周邊設備;及(b)將第二存取控制識別碼程式化為第二周邊設備之受限存取值,該受限存取值允許在交易主機之特權模式中但不在使用者模式中存取第二周邊設備。在執行第一任務期間:與第一周邊設備相聯結之第一存取控制器基於第一存取控制識別碼之開放存取值而允許在交易主機之特權模式及使用者模式兩者中存取第一周邊設備;且與第二周邊設備相聯結之第二存取控制器基於第二存取控制識別碼之受限存取值而防止在交易主機之特權模式中但不在交易主機之使用者模式中存取第二周邊設備。In some examples, the transaction host selectively operates in a privileged mode and a user mode, and the first bit mask corresponding to the first task indicates that (a) the first task is assigned peripheral access of the first peripheral device permission, and (b) the first task is not assigned a peripheral access permission for the second peripheral device. Executing access control identifier management instructions to program the first and second access control identifiers in the access control register based on the first bit mask corresponding to the first task includes (a) converting the first access control identifier to an access control identifier programmed into an open access value of the first peripheral device that allows access to the first peripheral device in both privileged mode and user mode of the transaction host; and (b) The second access control identifier is programmed as a restricted access value for the second peripheral device that allows access to the second peripheral device in privileged mode but not in user mode of the transaction host. During execution of the first task: the first access controller associated with the first peripheral device allows storage in both the privileged mode and the user mode of the transaction host based on the open access value of the first access control identification code. Access the first peripheral device; and a second access controller associated with the second peripheral device prevents use in a privileged mode of the transaction host but not on the transaction host based on the restricted access value of the second access control identification code access the second peripheral device in user mode.

圖1說明根據一個實例之利用存取控制識別碼控制對周邊設備之存取的實例電子裝置100,該等存取控制識別碼可為可程式化的,例如,各別存取控制識別碼可隨時間推移而設定及/或更新。電子裝置100包括交易主機102、周邊設備104、存取控制器106及儲存存取控制識別碼112之存取控制暫存器110。電子裝置100之組件可藉由任何類型之通信鏈路114 (例如,匯流排、電線或其他類型之鏈路)以通信方式彼此連接。在一些實例中,存取控制器106可連接於匯流排與各別周邊設備104之間,或替代地可間接連接至匯流排且可操作以對與連接至匯流排之周邊設備104a至104n的選定通信進行存取判定。1 illustrates an example electronic device 100 utilizing access control identifiers to control access to peripheral devices, according to one example. The access control identifiers may be programmable. For example, individual access control identifiers may Set and/or updated over time. The electronic device 100 includes a transaction host 102, peripheral devices 104, an access controller 106, and an access control register 110 that stores an access control identification code 112. The components of electronic device 100 may be communicatively connected to each other via any type of communication link 114 (eg, bus, wire, or other type of link). In some examples, the access controller 106 may be connected between the bus and the respective peripheral device 104 , or alternatively may be indirectly connected to the bus and operable to interface with peripheral devices 104 a - 104 n connected to the bus. Select the communication for access determination.

在一些實例中,電子裝置100為系統晶片(SoC)裝置。在其他實例中,電子裝置100可為包括設置於一個晶片上之交易主機102及設置於個別晶片上之周邊設備104的多晶片系統。交易主機102可包含能夠啟動執行與各別周邊設備104相關之任務(例如,存取設置於各別周邊設備104中之暫存器)的任何裝置。舉例而言,交易主機102可包含處理器,例如微處理器、微控制器、中央處理單元(CPU)、處理器核心、直接記憶體存取(DMA)引擎或者任何其他類型之電腦處理器。作為另一實例,交易主機102可包含連接至外部主機116 (例如,包含與電子裝置100分離之處理器) 之橋接器以允許外部主機116存取至少一個周邊設備104。In some examples, electronic device 100 is a system-on-chip (SoC) device. In other examples, the electronic device 100 may be a multi-chip system including a transaction host 102 disposed on one chip and peripheral devices 104 disposed on separate chips. The transaction host 102 may include any device capable of initiating the execution of tasks associated with the respective peripheral device 104 (eg, accessing registers disposed in the respective peripheral device 104). For example, the transaction host 102 may include a processor such as a microprocessor, microcontroller, central processing unit (CPU), processor core, direct memory access (DMA) engine, or any other type of computer processor. As another example, transaction host 102 may include a bridge connected to external host 116 (eg, including a processor separate from electronic device 100) to allow external host 116 to access at least one peripheral device 104.

周邊設備104 (例如,包括輸入/輸出裝置及/或其他周邊裝置)可包括為電子裝置100提供輸入、輸出或者資料儲存功能之任何裝置,例如一或多個PCI快速介面、乙太網路介面、USB介面、I 2C (積體電路間)介面、直接記憶體存取(DMA)控制器、中斷控制器、類比至數位轉換器(ADC)、WI-FI介面、藍牙介面、全球行動通信系統(GSM)介面、通用封包無線業務(GPRS)介面、全球定位系統(GPS)介面、3G介面、4G介面、5G介面、通用非同步接收器-發射器、(UART)、控制器區域網路彈性資料速率(CAN-FD)介面、通用輸入/輸出(GPIO)介面、顯示裝置介面、數據機、圖形處理單元(GPU)或共處理器。 Peripheral devices 104 (eg, including input/output devices and/or other peripheral devices) may include any device that provides input, output, or data storage functions for the electronic device 100, such as one or more PCI Express interfaces, Ethernet interfaces , USB interface, I 2 C (inter-integrated circuit) interface, direct memory access (DMA) controller, interrupt controller, analog-to-digital converter (ADC), WI-FI interface, Bluetooth interface, global mobile communications System (GSM) interface, General Packet Radio Service (GPRS) interface, Global Positioning System (GPS) interface, 3G interface, 4G interface, 5G interface, Universal Asynchronous Receiver-Transmitter (UART), Controller Area Network Flexible data rate (CAN-FD) interface, general purpose input/output (GPIO) interface, display device interface, modem, graphics processing unit (GPU) or co-processor.

電子裝置100可包括任何數目個周邊設備104。圖1中所展示之實例電子裝置100包括周邊設備104a至104n,但應理解,電子裝置100可包括任何數目個一或多個周邊設備。Electronic device 100 may include any number of peripheral devices 104 . The example electronic device 100 shown in Figure 1 includes peripheral devices 104a-104n, although it is understood that the electronic device 100 may include any number of one or more peripheral devices.

各別存取控制器106可連接至對應周邊設備104以用於控制(例如,允許或者防止)例如由交易主機102執行之裝置驅動程式(韌體)存取各別周邊設備104。舉例而言,如下文參看圖2所論述,交易主機102可執行韌體以進行與周邊設備104相關之各種任務。舉例而言,交易主機102可執行對應於各別周邊設備104a至104n之裝置驅動程式以進行與各別周邊設備104a至104n相關之任務(例如,裝置驅動程式任務)。存取控制器106可針對由交易主機102執行之各別任務控制(例如,允許或者防止)對各別周邊設備104之存取。A respective access controller 106 may be connected to the corresponding peripheral device 104 for controlling (eg, allowing or preventing) access to the respective peripheral device 104 by a device driver (firmware), such as executed by the transaction host 102 . For example, as discussed below with reference to FIG. 2 , the transaction host 102 may execute firmware to perform various tasks related to the peripheral device 104 . For example, the transaction host 102 may execute a device driver corresponding to the respective peripheral device 104a-104n to perform tasks (eg, device driver tasks) associated with the respective peripheral device 104a-104n. Access controller 106 may control (eg, allow or prevent) access to respective peripheral devices 104 for respective tasks performed by transaction host 102 .

如所展示,電子裝置100可包括與各別周邊設備104a至104n對應之各別存取控制器106a至106n。舉例而言,第一存取控制器106a可連接於交易主機102與第一周邊設備104a之間以控制交易主機102對第一周邊設備104a之存取,第二存取控制器106b可連接於交易主機102與第二周邊設備104b之間以控制交易主機102對第二周邊設備104b之存取,等等。舉例而言,第一存取控制器106a可允許第一任務(例如,與對應於第一周邊設備104a之第一裝置驅動程式相聯結)存取第一周邊設備104a,且防止第二任務(例如,與對應於第二周邊設備104b之第二裝置驅動程式相聯結)存取第一周邊設備104a。類似地,第二存取控制器106b可允許第二任務(與對應於第二周邊設備104b之第二裝置驅動程式相聯結)存取第二周邊設備104b,且防止第一任務(與對應於第一周邊設備104a之第一裝置驅動程式相聯結)存取第二周邊設備104b。As shown, electronic device 100 may include respective access controllers 106a-106n corresponding to respective peripheral devices 104a-104n. For example, the first access controller 106a can be connected between the transaction host 102 and the first peripheral device 104a to control the access of the transaction host 102 to the first peripheral device 104a, and the second access controller 106b can be connected between the transaction host 102 and the first peripheral device 104a. between the transaction host 102 and the second peripheral device 104b to control the access of the transaction host 102 to the second peripheral device 104b, and so on. For example, first access controller 106a may allow a first task (e.g., associated with a first device driver corresponding to first peripheral device 104a) to access first peripheral device 104a, and prevent a second task (e.g., associated with a first device driver corresponding to first peripheral device 104a) from accessing first peripheral device 104a. For example, the first peripheral device 104a is accessed in conjunction with a second device driver corresponding to the second peripheral device 104b. Similarly, the second access controller 106b may allow a second task (associated with the second device driver corresponding to the second peripheral device 104b) to access the second peripheral device 104b and prevent the first task (associated with the second device driver corresponding to the second peripheral device 104b) from accessing the second peripheral device 104b. The first device driver associated with the first peripheral device 104a accesses the second peripheral device 104b.

各別存取控制器106a至106n可包括電子電路系統以基於儲存於存取控制暫存器110中之各別存取控制識別碼112及在一些替代實例中額外存取控制輸入資料而控制(例如,允許或者防止)由交易主機102存取各別周邊設備104a至104n。如下文所論述,額外存取控制輸入資料可包括例如(a)指示交易主機102之操作模式的操作模式信號(OMS) 120及/或(b)識別請求存取各別周邊設備104之各別交易主機102的存取請求識別碼(下文參看與包括多個交易主機102之實例相關的圖3進行論述)。Respective access controllers 106a - 106n may include electronic circuitry to control ( For example, allowing or preventing access to respective peripheral devices 104a-104n by transaction host 102. As discussed below, additional access control input data may include, for example, (a) an operating mode signal (OMS) 120 indicating the operating mode of the transaction host 102 and/or (b) identifying individual requests for access to respective peripheral devices 104 The access request identification code of the transaction host 102 (discussed below with reference to FIG. 3 with respect to an example including multiple transaction hosts 102).

在一些實例中,儲存於存取控制暫存器110中之存取控制識別碼(在本文中亦被稱作「AC識別碼」) 112包括與各別周邊設備104a至104n對應之各別存取控制識別碼112a至112n,包括與第一周邊設備104a對應之第一存取控制識別碼112a、與第二周邊設備104b對應之第二存取控制識別碼112b,等等。用於各別周邊設備104a至104n之各別存取控制識別碼112a至112n可包括一個位元、多個位元或指示各別周邊設備104a至104n之存取設定的其他資料。舉例而言,第一存取控制識別碼112a可包括指示第一周邊設備104a之存取設定的一或多個位元,且第二存取控制識別碼112a可包括指示第二周邊設備104b之存取設定的一或多個位元。存取控制暫存器110可包括單個暫存器或多個任何合適大小之暫存器,例如包括一或多個8位元暫存器、32位元暫存器或64位元暫存器。In some examples, the access control identifiers (also referred to herein as "AC identifiers") 112 stored in the access control register 110 include respective registers corresponding to respective peripheral devices 104a-104n. The access control identification codes 112a to 112n include a first access control identification code 112a corresponding to the first peripheral device 104a, a second access control identification code 112b corresponding to the second peripheral device 104b, and so on. Respective access control identification codes 112a - 112n for respective peripheral devices 104a - 104n may include one bit, multiple bits, or other data indicative of access settings for respective peripheral devices 104a - 104n. For example, the first access control identification code 112a may include one or more bits indicating the access setting of the first peripheral device 104a, and the second access control identification code 112a may include one or more bits indicating the access setting of the second peripheral device 104b. Access one or more bits of a setting. The access control register 110 may include a single register or multiple registers of any suitable size, such as one or more 8-bit registers, 32-bit registers, or 64-bit registers. .

如下文參看圖2所論述,交易主機102可在基於分配給各別任務之周邊存取許可而進行各別任務(例如,韌體任務)之前程式化(例如,設定或者更新)各別存取控制識別碼112a至112n之值。如下文所論述,電子裝置100可儲存用於各別任務之各別位元遮罩,該位元遮罩用於指示各別任務之周邊存取許可,例如其中用於各別任務之各別位元遮罩指示各別任務是否分配有各別周邊設備104a至104n之周邊存取許可(或者未分配有各別周邊設備104a至104n之周邊存取許可)。舉例而言,電子裝置100可儲存用於第一任務之第一位元遮罩及用於第二任務之第二位元遮罩,該第一位元遮罩指示第一任務分配有第一周邊設備104a之周邊存取許可但並未分配有第二周邊設備104b之周邊存取許可,該第二位元遮罩指示第二任務分配有第二周邊設備104b之周邊存取許可但並未分配有第一周邊設備104a之周邊存取許可。在一些實例中,可由程式碼開發者(例如,韌體開發者)例如基於各別任務可能需要或利用之所選擇周邊設備將周邊存取許可分配給各別任務(使用用於各別任務之各別位元遮罩)。在一些實例中,與各別周邊設備104a至104n相聯結之各別存取控制器106a至106n基於與各別周邊設備104a至104n對應之各別存取控制識別碼112a至112n而進行對存取各別周邊設備104a至104n之存取判定。在其他實例中,與各別周邊設備104a至104n相聯結之各別存取控制器106a至106n基於(a)與各別周邊設備104a至104n對應之各別存取控制識別碼112a至112n及(b)指示交易主機102之當前操作模式(例如,特權模式或者使用者模式)之操作模式信號120而進行對存取各別周邊設備104a至104n之存取判定。As discussed below with reference to FIG. 2, the transaction host 102 may program (eg, configure or update) individual accesses before performing individual tasks (eg, firmware tasks) based on peripheral access permissions assigned to the individual tasks. Control the values of identification codes 112a to 112n. As discussed below, the electronic device 100 may store separate bit masks for respective tasks, the bit masks being used to indicate peripheral access permissions for the respective tasks, such as where the respective bit masks for the respective tasks A bitmask indicates whether each task is assigned a peripheral access grant for a respective peripheral device 104a through 104n (or is not assigned a peripheral access grant for a respective peripheral device 104a through 104n). For example, the electronic device 100 may store a first bit mask for a first task and a second bit mask for a second task, the first bit mask indicating that the first task is assigned a first bit mask. The second bitmask indicates that the second task is assigned the peripheral access permission of the second peripheral device 104b but is not assigned the peripheral access permission of the second peripheral device 104b. Peripheral access permission is assigned to the first peripheral device 104a. In some examples, peripheral access permissions may be assigned to individual tasks by a code developer (e.g., a firmware developer), such as based on selected peripherals that the individual tasks may require or utilize. individual bit masks). In some examples, the respective access controllers 106a - 106n associated with the respective peripheral devices 104a - 104n perform access control based on the respective access control identification codes 112a - 112n corresponding to the respective peripheral devices 104a - 104n. Access decisions are taken for respective peripheral devices 104a to 104n. In other examples, the respective access controllers 106a - 106n associated with the respective peripheral devices 104a - 104n are based on (a) the respective access control identification codes 112a - 112n corresponding to the respective peripheral devices 104a - 104n and (b) The operating mode signal 120 indicates the current operating mode (eg, privileged mode or user mode) of the transaction host 102 to make access determinations for accessing the respective peripheral devices 104a to 104n.

在其他實例中,提供多個處理主機102,且與各別周邊設備104a至104n相聯結之各別存取控制器106a至106n基於(a)識別請求交易主機102之交易主機識別碼及(b)與周邊設備104a至104n對應且與各別請求交易主機102對應之各別存取控制識別碼112a至112n (例如,其中存取控制暫存器110為各別交易主機102儲存用於周邊設備104a至104n之存取控制識別碼112a至112n的各別集合)而進行對由請求交易主機102 (或者多個交易主機102)存取各別周邊設備104a至104n之存取判定。在其他實例中,提供多個處理主機102,與各別周邊設備104a至104n相聯結之各別存取控制器106a至106n基於(a)識別請求交易主機102之交易主機識別碼,及(b)與各別周邊設備104a至104n對應且與請求交易主機102對應之各別存取控制識別碼112a至112n (例如,其中存取控制暫存器110為各別交易主機102儲存用於周邊設備104a至104n之存取控制識別碼112a至112n的各別集合),及(c)指示請求交易主機102之當前操作模式(例如,特權模式或者使用者模式)之操作模式信號120而進行對由請求交易主機102 (或多個交易主機102)存取各別周邊設備104a至104n之存取判定。In other examples, multiple processing hosts 102 are provided, and respective access controllers 106a - 106n are associated with respective peripheral devices 104a - 104n based on (a) a transaction host identification code that identifies the requesting transaction host 102 and (b) ) respective access control identification codes 112a - 112n corresponding to the peripheral devices 104a - 104n and corresponding to the respective requesting transaction host 102 (e.g., where the access control register 110 stores for the respective transaction host 102 for the peripheral device The respective sets of access control identification codes 112a to 112n of 104a to 104n) are used to perform access determinations on access to respective peripheral devices 104a to 104n by the requesting transaction host 102 (or multiple transaction hosts 102). In other examples, multiple processing hosts 102 are provided, with respective access controllers 106a - 106n associated with respective peripheral devices 104a - 104n based on (a) a transaction host identification code identifying the requesting transaction host 102, and (b) ) respective access control identification codes 112a - 112n corresponding to respective peripheral devices 104a - 104n and corresponding to the requesting transaction host 102 (e.g., where the access control register 110 stores for the respective transaction host 102 for the peripheral device (respective sets of access control identification codes 112a through 112n 104a through 104n), and (c) an operating mode signal 120 indicating the current operating mode of the requesting transaction host 102 (e.g., privileged mode or user mode). Access determinations requesting transaction host 102 (or multiple transaction hosts 102) to access respective peripheral devices 104a-104n.

一般而言,當交易主機102嘗試存取例如第一周邊設備104a之各別周邊設備104時,第一存取控制器106a可(a)自交易主機102接收存取請求以用於存取第一周邊設備104a;(b)自存取控制暫存器110存取用於第一周邊設備104a之存取控制識別碼112;(c)基於第一存取控制識別碼112a (及在一些實例中,額外存取控制輸入資料)進行存取判定;及(d)回應於存取判定而允許或者防止交易主機102存取第一周邊設備104a。Generally speaking, when the transaction host 102 attempts to access a respective peripheral device 104, such as the first peripheral device 104a, the first access controller 106a may (a) receive an access request from the transaction host 102 for accessing a third peripheral device 104a. a peripheral device 104a; (b) access the access control identifier 112 for the first peripheral device 104a from the access control register 110; (c) based on the first access control identifier 112a (and in some examples (in which additional access control input data) is used to perform an access determination; and (d) in response to the access determination, allowing or preventing the transaction host 102 from accessing the first peripheral device 104a.

在第一實例中,如下表1中所展示,各別存取控制識別碼112a至112n在以下存取控制識別碼(AC_ID)值之間可程式化: (a)存取允許設定(例如,AC_ID值=[0]),其允許由交易主機102存取各別周邊設備104a至104n (例如,執行裝置驅動程式或其他韌體)且 (b)存取防止設定(例如,AC_ID值=[1]),其防止由交易主機102存取各別周邊設備104a至104n (例如,執行裝置驅動程式或其他韌體)。 表1.第一實例之存取控制識別碼方案 AC_ID值 允許存取周邊設備? 0 (存取允許) 1 (存取防止) In a first example, as shown in Table 1 below, respective access control IDs 112a through 112n are programmable between the following access control ID (AC_ID) values: (a) Access permission settings (e.g., AC_ID value=[0]), which allows access by the transaction host 102 to the respective peripheral devices 104a-104n (e.g., executing device drivers or other firmware) and (b) access-preventing settings (e.g., AC_ID value=[ 1]), which prevents access by transaction host 102 to respective peripheral devices 104a-104n (eg, execution of device drivers or other firmware). Table 1. Access control identification code scheme of the first example AC_ID value Allow access to peripherals? 0 (access allowed) yes 1 (access prevention) no

在一些實例中,各別存取控制器106a至106n可儲存或者存取包括表1之資料的查找表(LUT),該各別存取控制器106a至106n可存取以用於進行存取判定。在一些實例中,各別存取控制器106a至106n可將各別LUT儲存於記憶體107中,例如唯讀記憶體(ROM)裝置(其中記憶體107之各別例項可設置於各別存取控制器106a至106n中,或者其中記憶體107可以其他方式由各別存取控制器106a至106n可存取)。在其他實例中,各別存取控制器106a至106n可使用邏輯電路系統108之合適例項實施表1中所指定之決策。舉例而言,如下文參看圖4A所論述,各別存取控制器106a至106n可包括邏輯電路系統108,該邏輯電路系統包括用於處理輸入至各別存取控制器106a至106n之存取控制識別碼的NOT閘(或反相器)。(在另一實例中,AC_ID值之含義可顛倒,例如,其中AC_ID=0指示存取防止設定,且AC_ID=1指示存取允許設定,且NOT閘可省略。)In some examples, respective access controllers 106a - 106n may store or access a lookup table (LUT) including the data of Table 1 that the respective access controllers 106a - 106n may access for accessing determination. In some examples, respective access controllers 106a-106n may store respective LUTs in memory 107, such as a read-only memory (ROM) device (where respective instances of memory 107 may be located in respective access controllers 106a through 106n, or where memory 107 may otherwise be accessible by respective access controllers 106a through 106n). In other examples, respective access controllers 106a - 106n may implement the decisions specified in Table 1 using appropriate examples of logic circuitry 108 . For example, as discussed below with reference to FIG. 4A , respective access controllers 106a - 106n may include logic circuitry 108 including logic for processing accesses input to respective access controllers 106a - 106n NOT gate (or inverter) that controls the identification code. (In another example, the meaning of the AC_ID values may be reversed, for example, where AC_ID=0 indicates an access-prevent setting, and AC_ID=1 indicates an access-allowing setting, and the NOT gate may be omitted.)

在第一實例中(亦即,實施表1中所展示之方案),交易主機102可執行各別韌體(例如,設置於電腦可讀監督程式碼206中之存取控制識別碼管理指令214,例如實施於韌體中,如下文所論述之圖2中所展示)以根據上文所描述之方案,例如基於交易主機之當前操作模式(例如,特權模式或者使用者模式)及/或在啟動與特定周邊設備104a至104n相關之任務之前(例如,使用與特定周邊設備104a至104n對應之裝置驅動程式)而即時地動態地程式化存取控制識別碼112a至112n。舉例而言: (a)在啟動與任何周邊設備104a至104n相關之特權模式任務之前,交易主機102可將AC識別碼112a至112n程式化為0 (允許交易主機102存取周邊設備104a至104n) ; (b)在啟動與第一周邊設備104a相關之使用者模式任務之前,交易主機102可將AC識別碼112a程式化為0且將AC識別碼112b...112n程式化為1 (允許交易主機102存取第一周邊設備104a且防止存取周邊設備104b...104n);及 (c)在啟動與第二周邊設備104b相關之使用者模式任務之前,交易主機102可將AC識別碼112b程式化為0且將AC識別碼112a、112c...112n程式化為1 (允許交易主機102存取第二周邊設備104b且防止存取周邊設備104a、104c...104n)。 In a first example (i.e., implementing the solution shown in Table 1), the transaction host 102 may execute respective firmware (e.g., access control identifier management instructions 214 disposed in the computer-readable supervisory code 206 , such as implemented in firmware, as shown in Figure 2 discussed below) according to the scheme described above, for example based on the current operating mode of the trading host (e.g., privileged mode or user mode) and/or in Access control identifiers 112a - 112n are dynamically programmed on the fly (eg, using a device driver corresponding to the particular peripheral 104a - 104n ) prior to initiating a task associated with the particular peripheral 104a - 104n . For example: (a) Before initiating a privileged mode task associated with any peripheral device 104a through 104n, the transaction host 102 can program the AC identification code 112a through 112n to 0 (allowing the transaction host 102 to access the peripheral device 104a through 104n); (b) Before initiating the user mode task associated with the first peripheral device 104a, the transaction host 102 may program the AC identification code 112a to 0 and the AC identification codes 112b...112n to 1 (allowing the transaction host 102 accesses the first peripheral device 104a and prevents access to the peripheral devices 104b...104n); and (c) Before initiating the user mode task associated with the second peripheral device 104b, the transaction host 102 can program the AC identification code 112b to 0 and the AC identification codes 112a, 112c...112n to 1 (allow The transaction host 102 accesses the second peripheral device 104b and prevents access to the peripheral devices 104a, 104c...104n).

在第一實例中,與特定周邊設備104a至104n相聯結之各別存取控制器106a至106n基於與特定周邊設備104a至104n對應之各別存取控制識別碼112a至112n之當前值,例如,在不另外需要指示交易主機102之當前操作模式的操作模式信號之情況下對存取特定周邊設備104a至104n進行存取判定。舉例而言,當與第一周邊104a相聯結之第一存取控制器106a自交易主機102接收存取第一周邊設備104a之存取請求時,第一存取控制器106a存取與第一周邊設備104a對應之各別AC識別碼112a,且基於AC識別碼112a,若AC_ID值=0,則允許交易主機102存取第一周邊設備104a,且若AC_ID值=1,則防止交易主機102存取第一周邊設備104a。In a first example, the respective access controllers 106a - 106n associated with the particular peripherals 104a - 104n are based on the current value of the respective access control identification code 112a - 112n corresponding to the particular peripheral 104a - 104n, e.g. , making access determinations for accessing specific peripheral devices 104a to 104n without additionally requiring an operating mode signal indicating the current operating mode of transaction host 102. For example, when the first access controller 106a associated with the first peripheral 104a receives an access request to the first peripheral 104a from the transaction host 102, the first access controller 106a accesses the first peripheral 104a. The respective AC identification code 112a corresponding to the peripheral device 104a, and based on the AC identification code 112a, if the AC_ID value=0, the transaction host 102 is allowed to access the first peripheral device 104a, and if the AC_ID value=1, the transaction host 102 is prevented Access the first peripheral device 104a.

根據上文所描述之第一實例之方案,在一個實例例項中,交易主機102可使用與第一周邊設備104a對應之第一周邊裝置驅動程式執行與第一周邊設備104a相關之第一使用者-空間任務,且可因此在執行第一任務之前將AC識別碼112a程式化為0 (例如,使用圖2中所展示之存取控制識別碼管理指令214)。若第一存取控制器106a自第一周邊裝置驅動程式接收存取第一周邊設備104a之請求,則第一存取控制器106a可存取AC識別碼112a,且回應於AC識別碼112a值= 0,允許存取第一周邊設備104a。在另一實例例項中,交易主機102可使用與第二周邊設備104b對應之第二周邊裝置驅動程式執行與第二周邊設備104b相關之第二使用者-空間任務,且因此可將AC識別碼112b程式化為0以允許存取第二周邊設備104b並將AC識別碼112a程式化為1以防止存取第一周邊設備104a。若第一存取控制器106a自第二周邊裝置驅動程式接收存取第一周邊設備104a之請求(例如,自第二周邊裝置驅動程式接收錯誤或惡意請求),則第一存取控制器106a可存取AC識別碼112a,且回應於AC識別碼112a值=1,防止存取第一周邊設備104a。在再一實例例項中,交易主機102可執行與第一周邊設備104a或第二周邊設備104b相關(例如,包括於監督韌體中)之特權任務,且可因此在執行此等特權任務之前分別將AC識別碼112a程式化為0或者將AC識別碼112b程式化為0,從而允許由與第一周邊設備104a對應之第一周邊裝置驅動程式或與第二周邊設備104b對應之第二周邊裝置驅動程式存取第一周邊設備104a。According to the solution of the first example described above, in one example, the transaction host 102 may use the first peripheral device driver corresponding to the first peripheral device 104a to perform the first use related to the first peripheral device 104a. or - space task, and the AC ID 112a can therefore be programmed to 0 before executing the first task (eg, using the access control ID management instructions 214 shown in Figure 2). If the first access controller 106a receives a request to access the first peripheral device 104a from the first peripheral device driver, the first access controller 106a may access the AC identification code 112a and respond with the AC identification code 112a value = 0, allowing access to the first peripheral device 104a. In another example, transaction host 102 may use a second peripheral device driver corresponding to second peripheral device 104b to perform a second user-space task associated with second peripheral device 104b, and thus may identify the AC Code 112b is programmed to 0 to allow access to the second peripheral device 104b and AC identification code 112a is programmed to 1 to prevent access to the first peripheral device 104a. If the first access controller 106a receives a request to access the first peripheral device 104a from the second peripheral device driver (eg, receives an error or malicious request from the second peripheral device driver), the first access controller 106a The AC identification code 112a is accessible, and in response to the AC identification code 112a value=1, access to the first peripheral device 104a is prevented. In yet another example, the transaction host 102 may perform privileged tasks associated with the first peripheral device 104a or the second peripheral device 104b (e.g., included in supervisory firmware), and may therefore perform such privileged tasks before The AC identification code 112a is programmed to 0 or the AC identification code 112b is programmed to 0, respectively, thereby allowing the first peripheral device driver corresponding to the first peripheral device 104a or the second peripheral device corresponding to the second peripheral device 104b to be used. The device driver accesses the first peripheral device 104a.

在第二實例中,如下表2中所展示,各別存取控制識別碼112a至112n在以下存取控制識別碼(AC_ID)值之間可程式化: (a)開放存取設定,(例如,AC_ID值=[0]),其允許由交易主機102存取各別周邊設備104a至104n (例如,執行裝置驅動程式或其他韌體),而不管交易主機102之當前操作模式(例如,特權模式或者使用者模式),及 (b)受限存取設定(例如,AC_ID值=[1]),允許僅在交易主機102之特權模式中由交易主機102存取各別周邊設備104a至104n (例如,執行裝置驅動程式或其他韌體)。 表2.第二實例之存取控制識別碼方案 AC_ID值 交易主機操作模式 允許存取周邊設備? 0 (開放存取) 0 (使用者模式) 0 (開放存取) 1 (特權模式) 1 (受限存取) 0 (使用者模式) 1 (受限存取) 1 (特權模式) In a second example, as shown in Table 2 below, respective access control identifiers 112a through 112n are programmable between the following access control identifier (AC_ID) values: (a) Open access settings, (e.g. , AC_ID value=[0]), which allows access to respective peripheral devices 104a through 104n by the transaction host 102 (e.g., executing device drivers or other firmware) regardless of the current operating mode of the transaction host 102 (e.g., privileged mode or user mode), and (b) a restricted access setting (e.g., AC_ID value = [1]) that allows access to the respective peripheral devices 104a through 104n by the transaction host 102 only in the privileged mode of the transaction host 102 (e.g., executing device drivers or other firmware). Table 2. Access control identification code scheme of the second example AC_ID value Trading host operating mode Allow access to peripherals? 0 (open access) 0 (user mode) yes 0 (open access) 1 (privileged mode) yes 1 (restricted access) 0 (user mode) no 1 (restricted access) 1 (privileged mode) yes

在一些實例中,各別存取控制器106a至106n可儲存或者存取包括表2之資料的LUT,該各別存取控制器106a至106n可存取以用於進行存取判定。在一些實例中,各別存取控制器106a至106n可將各別LUT儲存於記憶體107之各別例項中,例如唯讀記憶體(ROM)裝置(其中記憶體107之例項可設置於各別存取控制器106a至106n中,或者記憶體107可以其他方式由各別存取控制器106a至106n可存取)。在其他實例中,各別存取控制器106a至106n可使用合適的邏輯電路系統108之各別例項實施表2中所指定之決策。舉例而言,如下文參看圖4B所論述,各別存取控制器106a至106n可包括邏輯電路系統108,該邏輯電路系統包括用於處理輸入至各別存取控制器106a至106n之存取控制識別碼的NOT閘及OR閘。In some examples, respective access controllers 106a - 106n may store or access a LUT including the data of Table 2, which the respective access controllers 106a - 106n may access for use in making access decisions. In some examples, respective access controllers 106a-106n may store respective LUTs in respective instances of memory 107, such as read-only memory (ROM) devices (wherein the instance of memory 107 may be configured in respective access controllers 106a through 106n, or memory 107 may otherwise be accessible by respective access controllers 106a through 106n). In other examples, respective access controllers 106a - 106n may implement the decisions specified in Table 2 using respective instances of appropriate logic circuitry 108 . For example, as discussed below with reference to FIG. 4B , respective access controllers 106a - 106n may include logic circuitry 108 that includes logic circuitry for processing accesses input to respective access controllers 106a - 106n Control the NOT gate and OR gate of the identification code.

在第二實例(亦即,實施表2中所展示之方案)中,交易主機102可執行各別韌體(例如,圖2中展示之存取控制識別碼管理指令214)以根據上文所描述之方案,例如基於交易主機之當前操作模式(例如,特權模式或者使用者模式)即時地動態地程式化存取控制識別碼112a至112n,及/或啟動與特定周邊設備104a至104n相關之任務(例如,使用與特定周邊設備104a至104n對應之裝置驅動程式)。舉例而言: (a)為啟動與第一周邊設備104a相關之任務(不管交易主機102之操作模式),交易主機102可將AC識別碼112a程式化為0且將AC識別碼112b、112c...112n程式化為1 (允許交易主機102在交易主機102之特權模式及使用者模式兩者中存取第一周邊設備104a,如下文所論述,同時防止交易主機102在交易主機102之使用者模式中存取周邊設備104b、104c...104n);及 (b)為啟動與第二周邊設備104b相關之任務(不管交易主機102之操作模式),交易主機102可將AC識別碼112b程式化為0且將AC識別碼112a、112c…112n程式化為1 (允許交易主機102在交易主機102之特權模式及使用者模式兩者中存取第二周邊設備104b,如下文所論述,同時防止交易主機102在交易主機102之使用者模式中存取周邊設備104a、104c...104n)。 In a second example (i.e., implementing the solution shown in Table 2), the transaction host 102 may execute respective firmware (eg, the access control ID management instructions 214 shown in FIG. 2) to execute the Solutions are described, such as dynamically programming access control identifiers 112a-112n in real-time based on the transaction host's current operating mode (e.g., privileged mode or user mode), and/or activating access control identifiers associated with specific peripheral devices 104a-104n. Task (e.g., using a device driver corresponding to a particular peripheral device 104a through 104n). For example: (a) To initiate tasks associated with the first peripheral device 104a (regardless of the operating mode of the transaction host 102), the transaction host 102 can program the AC identification code 112a to 0 and program the AC identification codes 112b, 112c...112n to 1 (allowing the transaction host 102 to access the first peripheral device 104a in both privileged mode and user mode of the transaction host 102, as discussed below, while preventing the transaction host 102 from accessing the first peripheral device 104a in both the user mode and the user mode of the transaction host 102) Take peripheral devices 104b, 104c...104n); and (b) To initiate tasks associated with the second peripheral device 104b (regardless of the operating mode of the transaction host 102), the transaction host 102 can program the AC identification code 112b to 0 and the AC identification codes 112a, 112c...112n to 1 (Allows the transaction host 102 to access the second peripheral device 104b in both privileged mode and user mode of the transaction host 102, as discussed below, while preventing the transaction host 102 from accessing the peripheral device in the user mode of the transaction host 102 Devices 104a, 104c...104n).

在第二實例中,與特定周邊設備104a至104n相聯結之各別存取控制器106a至106n基於(a)與特定周邊設備104a至104n對應之各別存取控制識別碼112a至112n的當前值及(b)指示交易主機102之操作模式(特權模式或者使用者模式)之操作模式信號120而進行對存取特定周邊設備104a至104n之存取判定。舉例而言,當與第一周邊104a相聯結之第一存取控制器106a自交易主機102接收存取第一周邊設備104a之存取請求時,第一存取控制器106a存取(a)與第一周邊設備104a對應之AC識別碼112a及(b)操作模式信號120,且基於由表2界定之方案判定是否允許交易主機102存取第一周邊設備104a。特別地,第一存取控制器106a判定允許交易主機102存取第一周邊設備104a,除非(a) AC_ID值=1 (受限存取設定)及(b)操作模式信號值=0 (使用者模式)兩者。In a second example, the respective access controllers 106a through 106n associated with the particular peripheral devices 104a through 104n are based on (a) the current access control identification codes 112a through 112n corresponding to the particular peripheral devices 104a through 104n. The value and (b) the operating mode signal 120 indicating the operating mode (privileged mode or user mode) of the transaction host 102 to make an access determination for accessing the specific peripheral devices 104a to 104n. For example, when the first access controller 106a associated with the first peripheral 104a receives an access request to the first peripheral 104a from the transaction host 102, the first access controller 106a accesses (a) AC identification code 112a and (b) operating mode signal 120 corresponding to the first peripheral device 104a, and based on the scheme defined in Table 2, it is determined whether the transaction host 102 is allowed to access the first peripheral device 104a. Specifically, the first access controller 106a determines that the transaction host 102 is allowed to access the first peripheral device 104a unless (a) the AC_ID value=1 (restricted access setting) and (b) the operating mode signal value=0 (using or mode) both.

根據上文所描述之第二實例之方案,在一個實例例項中,交易主機102可啟動與第一周邊設備104a相關之使用者模式任務,且可因此將AC識別碼112a程式化為0以啟動此等任務。若第一存取控制器106a自第一周邊裝置驅動程式接收存取第一周邊設備104a之請求,則第一存取控制器106a可(a)存取AC識別碼112a;(b)存取操作模式信號120;(c)若操作模式信號120指示使用者模式(操作模式信號值=0)或者特權模式(操作模式信號值=1),則進行允許第一周邊裝置驅動程式存取第一周邊設備104a之存取判定,否則防止第一周邊裝置驅動程式存取第一周邊設備104a;且(d)基於存取判定允許或者防止第一周邊裝置驅動程式存取第一周邊設備104a。According to the solution of the second example described above, in one example, the transaction host 102 can initiate a user mode task related to the first peripheral device 104a, and can therefore program the AC identification code 112a to 0 to Start such tasks. If the first access controller 106a receives a request to access the first peripheral device 104a from the first peripheral device driver, the first access controller 106a may (a) access the AC identification code 112a; (b) access the Operation mode signal 120; (c) If the operation mode signal 120 indicates user mode (operation mode signal value=0) or privileged mode (operation mode signal value=1), then allow the first peripheral device driver to access the first an access determination of the peripheral device 104a that otherwise prevents the first peripheral device driver from accessing the first peripheral device 104a; and (d) allowing or preventing the first peripheral device driver from accessing the first peripheral device 104a based on the access determination.

在另一實例例項中,交易主機102可使用與第二周邊設備104b對應之第二周邊裝置驅動程式啟動與第二周邊設備104b相關之使用者模式任務,且因此可將AC識別碼112b程式化為0 (亦即,對第二周邊設備104b之開放存取)且可將AC識別碼112a程式化為1(亦即,對第一周邊設備104a之受限存取)。若第一存取控制器106a自第二周邊裝置驅動程式接收存取第一周邊設備104a之請求,則第一存取控制器106a可(a)存取AC識別碼112a;(b)存取操作模式信號120;且(c)進行存取判定以允許或者防止由第二周邊裝置驅動程式對第一周邊設備104a存取,特別地,若操作模式信號120指示特權模式(操作模式信號值=1),則判定允許存取,且若操作模式信號120指示使用者模式(操作模式信號值=0),則判定防止存取;且(d)基於存取判定允許或者防止由第二周邊裝置驅動程式存取來存取第一周邊設備104a。In another example, the transaction host 102 may use a second peripheral device driver corresponding to the second peripheral device 104b to initiate a user mode task associated with the second peripheral device 104b, and thus may program the AC identification code 112b be programmed to 0 (ie, open access to second peripheral device 104b) and AC identification code 112a may be programmed to 1 (ie, restricted access to first peripheral device 104a). If the first access controller 106a receives a request to access the first peripheral device 104a from the second peripheral device driver, the first access controller 106a may (a) access the AC identification code 112a; (b) access the operating mode signal 120; and (c) making an access determination to allow or prevent access to the first peripheral device 104a by the second peripheral device driver, in particular, if the operating mode signal 120 indicates a privileged mode (operating mode signal value = 1), then it is determined that access is allowed, and if the operation mode signal 120 indicates the user mode (operation mode signal value = 0), then it is determined that access is prevented; and (d) based on the access, it is determined that access is allowed or prevented by the second peripheral device The driver accesses the first peripheral device 104a.

如圖1中所展示,各別存取控制器106a至106n可接收(a)各別周邊設備104a至104n之存取請求(ACR)、(b)各別AC識別碼112a至112n及(視需要) (c)操作模式信號120作為輸入,且處理所接收輸入以對各別周邊設備104a至104n進行存取判定。為簡單起見,存取請求(圖1至圖2中所展示之ACR及圖3中所展示之TH_id)及可選擇的操作模式信號(圖1至圖2中之120及圖3中之120a至120n)在圖1至圖3中被說明為僅傳輸至存取控制器106a;應理解存取請求及可選擇的操作模式信號可針對與各別存取控制器106b至106n相關之操作類似地傳輸至存取控制器106b至106n。As shown in Figure 1, respective access controllers 106a-106n may receive (a) access requests (ACRs) from respective peripheral devices 104a-104n, (b) respective AC identification codes 112a-112n, and (optional) Required) (c) The operating mode signal 120 is taken as input and the received input is processed to make an access determination for the respective peripheral device 104a to 104n. For simplicity, the access request (ACR shown in Figures 1 to 2 and TH_id shown in Figure 3) and the selectable operating mode signal (120 in Figures 1 to 2 and 120a in Figure 3 to 120n) are illustrated in Figures 1-3 as being transmitted only to access controller 106a; it is understood that the access request and selectable operating mode signals may be similar for operations associated with respective access controllers 106b-106n are transmitted to access controllers 106b to 106n.

如上文所論述,在一些實例中,實例電子裝置100之各別存取控制器106a至106n可包括(或存取)儲存於記憶體107 (例如,ROM)中之各別查找表(LUT),該查找表界定各AC_ID值之各別存取判定(例如,根據上文表1界定之方案),或者界定AC_ID值及操作模式信號值之各組合的各別存取判定(例如,根據上文表2界定之方案)。在其他實例中,例如,如下文論述之圖4A及圖4B中所展示,各別存取控制器106a至106n可包含邏輯電路系統108之例項,該邏輯電路系統包括一或多個邏輯閘,例如NOT閘(例如,實施由上文表1界定之方案)或者NOT閘及OR閘(例如,實施由上文表2界定之方案)。As discussed above, in some examples, respective access controllers 106a - 106n of example electronic device 100 may include (or access) respective lookup tables (LUTs) stored in memory 107 (eg, ROM) , the lookup table defines a separate access decision for each AC_ID value (e.g., according to the scheme defined in Table 1 above), or defines a separate access decision for each combination of AC_ID value and operating mode signal value (e.g., according to the above Schemes defined in Table 2). In other examples, for example, as shown in FIGS. 4A and 4B discussed below, respective access controllers 106a - 106n may include examples of logic circuitry 108 that includes one or more logic gates. , such as NOT gate (e.g., implement the plan defined by Table 1 above) or NOT gate and OR gate (e.g., implement the plan defined by Table 2 above).

在一些實例中,電子裝置100可包括AC識別碼程式化韌體,其由交易主機102執行以例如基於交易主機之操作模式及/或基於選擇用於存取之各別周邊設備104a至104n (在本文中被稱作存取請求之周邊設備104a至104n)而動態地程式化一個、一些或者所有AC識別碼112a至112n,例如啟動與各別周邊設備104a至104n相關之任務。另外,在一些實例中,如下文參看圖2所論述,存取控制暫存器110設置於專用周邊設備中,該周邊設備(如周邊設備104a至104n)亦可由各別存取控制器進行存取控制,例如,其中AC識別碼程式化韌體可僅在交易主機102之特權模式中而不在交易主機102之使用者模式中存取存取控制暫存器110 (例如,程式化AC識別碼112a至112n)。In some examples, the electronic device 100 may include AC identification code programmed firmware that is executed by the transaction host 102 to, for example, based on the operating mode of the transaction host and/or based on the respective peripheral devices 104a-104n selected for access ( Referred to herein as access requesting peripherals 104a - 104n ), one, some, or all AC identifiers 112a - 112n are dynamically programmed, such as to initiate tasks associated with the respective peripherals 104a - 104n . In addition, in some examples, as discussed below with reference to FIG. 2, the access control register 110 is provided in a dedicated peripheral device, and the peripheral device (such as peripheral devices 104a to 104n) may also be stored by a respective access controller. Access control, e.g., where the AC identifier programmed firmware may access the access control register 110 only in the privileged mode of the transaction host 102 and not in the user mode of the transaction host 102 (e.g., the programmed AC identifier 112a to 112n).

圖2說明根據一個實例之圖1之電子裝置(例如,SoC) 100之額外特徵及態樣。如上文所論述,電子裝置100包括交易主機102、周邊設備104a至104n、存取控制器106a至106n及儲存存取控制識別碼112a至112n之存取控制暫存器110。電子裝置100之組件可藉由任何類型之通信鏈路114 (例如,匯流排、電線或其他類型之鏈路)以通信方式彼此連接。如上文所論述,各別存取控制器106a至106n利用各別存取控制識別碼112a至112n (及可選擇的額外輸入資料)來例如基於交易主機102之操作模式(例如,特權模式或者使用者模式)及/或基於存取請求之周邊設備104a至104n (亦即,請求存取之周邊設備104a至104n)控制對各別周邊設備104a至104n之存取。存取控制器106a至106n可例如使用上文所描述之表1或者表2中所展示的存取控制識別碼方案來實施上文所論述之各種實例方案中的任一者。Figure 2 illustrates additional features and aspects of the electronic device (eg, SoC) 100 of Figure 1, according to one example. As discussed above, the electronic device 100 includes a transaction host 102, peripheral devices 104a to 104n, access controllers 106a to 106n, and an access control register 110 that stores access control identification codes 112a to 112n. The components of electronic device 100 may be communicatively connected to each other via any type of communication link 114 (eg, bus, wire, or other type of link). As discussed above, the respective access controllers 106a - 106n utilize the respective access control identifiers 112a - 112n (and optionally additional input data), for example based on the operating mode of the transaction host 102 (e.g., privileged mode or using mode) and/or controls access to the respective peripherals 104a - 104n based on the peripheral device 104a - 104n requesting access (ie, the peripheral device 104a - 104n requesting access). Access controllers 106a - 106n may implement any of the various example schemes discussed above, for example, using the access control identification scheme shown in Table 1 or Table 2 described above.

如圖2中所展示,包括存取控制識別碼112a至112n之存取控制暫存器110可設置於專用周邊設備104ac中,且對應存取控制器106ac可經提供以控制對周邊設備104ac之存取,例如,類似於分別控制對周邊設備104a至102n之存取的存取控制器106a至106n。舉例而言,存取控制器106ac可基於來自交易主機102之操作模式信號120及(選擇地)各別AC識別碼112ac控制對周邊設備104ac之存取。在一些實例中,存取控制器106ac可基於來自交易主機102之操作模式信號120控制對周邊設備104ac之存取。在其他實例中,存取控制器106ac可例如基於各別AC識別碼112ac及/或操作模式信號120且使用如上文所描述之表1或者表2中所展示之存取控制識別碼方案而類似於存取控制器106a至106n地操作。As shown in FIG. 2, the access control register 110 including the access control identification codes 112a to 112n may be provided in the dedicated peripheral device 104ac, and the corresponding access controller 106ac may be provided to control access to the peripheral device 104ac. Access, for example, is similar to access controllers 106a through 106n that control access to peripheral devices 104a through 102n, respectively. For example, access controller 106ac may control access to peripheral device 104ac based on operating mode signal 120 from transaction host 102 and (optionally) respective AC identification code 112ac. In some examples, access controller 106ac may control access to peripheral device 104ac based on operating mode signal 120 from transaction host 102. In other examples, access controller 106ac may be similar, such as based on respective AC identifiers 112ac and/or operating mode signals 120 and using an access control identifier scheme as shown in Table 1 or Table 2 described above. Operates on access controllers 106a to 106n.

如圖2中所展示,電子裝置100亦可包括儲存各種韌體及其他資料之非暫時性記憶體202。非暫時性記憶體202 (亦被稱作記憶體202)可包括一或多個唯讀記憶體(ROM),例如快閃ROM、可抹除可程式化ROM (EPROM)、電子可抹除可程式化ROM (EEPROM)、快閃記憶體或者任何其他合適類型及數目之記憶體裝置。As shown in FIG. 2 , the electronic device 100 may also include non-transitory memory 202 that stores various firmware and other data. Non-transitory memory 202 (also referred to as memory 202) may include one or more read-only memory (ROM), such as flash ROM, erasable programmable ROM (EPROM), electronically erasable programmable ROM (EPROM), Programmable ROM (EEPROM), flash memory, or any other suitable type and number of memory devices.

如所展示,記憶體202可包括特權區段202a及非特權區段(或者使用者區段) 202b。非特權區段202b可儲存電腦可讀使用者-空間程式碼208,例如實施於韌體中,例如與各別周邊設備104a至104n及/或其他使用者-空間韌體相聯結之裝置驅動程式。使用者-空間程式碼(例如,使用者-空間韌體) 208可包括需要或者可利用對僅選定資源(例如,周邊設備104a至104n中之選定資源)之存取的功能。舉例而言,使用者-空間程式碼208可包括裝置驅動程式或者其他韌體,包括各別任務220a至220n需要或者可利用對選定周邊設備104a至104n之存取,例如以存取儲存於設置於各別周邊設備104a至104n中之各別暫存器214a至214n中的資料。因此,習知地作為監督韌體操作之裝置驅動程式可作為具有僅對選定資源(例如,選定周邊設備104a至104n)之存取的使用者-空間韌體操作,從而提供增加之安全性,如本文所描述。As shown, memory 202 may include a privileged section 202a and a non-privileged section (or user section) 202b. The non-privileged section 202b may store computer-readable user-space code 208, such as implemented in firmware, such as device drivers associated with respective peripheral devices 104a-104n and/or other user-space firmware. . User-space code (eg, user-space firmware) 208 may include functionality that requires or may take advantage of access to only selected resources (eg, selected resources in peripheral devices 104a-104n). For example, user-space code 208 may include device drivers or other firmware that may be required by respective tasks 220a - 220n or may exploit access to selected peripherals 104a - 104n , such as to access settings stored in Data in respective registers 214a through 214n in respective peripheral devices 104a through 104n. Therefore, a device driver conventionally operating as a supervisory firmware may operate as a user-space firmware with access only to selected resources (e.g., selected peripheral devices 104a through 104n), thereby providing increased security. As described in this article.

特權區段202a可儲存監督程式碼(例如,監督韌體) 206及位元遮罩資料結構230。位元遮罩資料結構230可包括分別與任務220a至220n對應之位元遮罩232a至232n,其中各別任務220n之各別位元遮罩232n指示各別周邊設備104a至104n之各別存取設定,例如,指示各別任務220n是否分配有各別周邊設備104a至104n之周邊存取許可。舉例而言,參看圖2,與「任務1」220a對應之任務1位元遮罩232a可指示「任務1」220a分配有第一周邊設備104a而非第二周邊設備104b之周邊存取許可;且與「任務2」220b對應之任務2位元遮罩232b可指示「任務2」220b分配有第二周邊設備104b而非第一周邊設備104a之周邊存取許可。Privileged section 202a may store supervisory code (eg, supervisory firmware) 206 and bitmask data structure 230. Bit mask data structure 230 may include bit masks 232a through 232n respectively corresponding to tasks 220a through 220n, where respective bit masks 232n for respective tasks 220n indicate respective storage locations of respective peripheral devices 104a through 104n. Settings are obtained, for example, indicating whether respective tasks 220n are assigned peripheral access permissions for respective peripheral devices 104a-104n. For example, referring to FIG. 2, the task 1 bit mask 232a corresponding to "task 1" 220a may indicate that "task 1" 220a is assigned the peripheral access permission of the first peripheral device 104a but not the second peripheral device 104b; And the task 2 bit mask 232b corresponding to "task 2" 220b may indicate that "task 2" 220b is assigned the peripheral access permission of the second peripheral device 104b instead of the first peripheral device 104a.

在一些實例中,各別任務220a至220n之各別位元遮罩232a至232n可包括指示各別任務220a至220n是否分配有周邊設備104a至104n中之各別者的周邊存取許可之一個位元或多個位元(在本文中亦被稱作「位元遮罩位元」)或者其他資料。舉例而言,與「任務1」220a對應之任務1位元遮罩232a可包括指示「任務1」220a分配有第一周邊設備104a之周邊存取許可的一或多個第一位元遮罩位元或者其他資料,及指示「任務1」220a未分配有第二周邊設備104b之周邊存取許可的一或多個第二位元遮罩位元或者其他資料。In some examples, the respective bit masks 232a - 232n of the respective tasks 220a - 220n may include one of the peripheral access permissions indicating whether the respective tasks 220a - 220n are assigned respective ones of the peripheral devices 104a - 104n A bit or bits (also referred to herein as "bitmask bits") or other data. For example, task 1 bitmask 232a corresponding to "task 1" 220a may include one or more first bit masks indicating that "task 1" 220a is assigned peripheral access permissions of first peripheral device 104a bits or other data, and one or more second bit mask bits or other data indicating that "Task 1" 220a is not assigned a peripheral access permission for the second peripheral device 104b.

監督程式碼(例如,監督韌體) 206可包括定序程式212及存取控制識別碼管理指令214。定序程式212由交易主機102執行以管理使用者-空間程式碼(例如,使用者-空間韌體) 208之執行,例如包括任務220a至220n。存取控制識別碼管理指令214可由交易主機102執行以(a)存取位元遮罩232a至232n且(b)基於與待執行之各別任務220a至220n對應的各別位元遮罩232a至232n程式化存取控制暫存器110中之存取控制識別碼112a至112n之值。在一些實例中,例如,上文所描述之第一實例存取控制識別碼方案之某些實施(參見表1),交易主機102可將位元遮罩232a至232n用於使用者模式操作(例如,在使用者模式中執行各別任務220a至220n)但不用於特權模式操作(例如,在特權模式中執行各別任務220a至220n)。(在第一實例存取控制識別碼方案(展示於表1中)之其他實施中,交易主機102可將位元遮罩232a至232n用於使用者模式及特權模式操作兩者)。Supervision code (eg, supervision firmware) 206 may include sequencers 212 and access control ID management instructions 214 . Sequencer 212 is executed by transaction host 102 to manage the execution of user-space code (eg, user-space firmware) 208, including, for example, tasks 220a through 220n. Access control ID management instructions 214 may be executed by transaction host 102 to (a) access bit masks 232a through 232n and (b) based on respective bit masks 232a corresponding to respective tasks 220a through 220n to be performed. to 232n the values of the access control identification codes 112a to 112n in the programmed access control register 110. In some examples, such as certain implementations of the first example access control ID scheme described above (see Table 1), transaction host 102 may use bit masks 232a through 232n for user mode operations (see Table 1). For example, respective tasks 220a through 220n are executed in user mode) but not for privileged mode operation (eg, respective tasks 220a through 220n are executed in privileged mode). (In other implementations of the first example access control ID scheme (shown in Table 1), transaction host 102 may use bit masks 232a through 232n for both user mode and privileged mode operations).

舉例而言,在執行「任務1」220a之前,交易主機102可執行存取控制識別碼管理指令214,以基於任務1位元遮罩232a及/或基於交易主機102之操作模式(例如,特權模式或者使用者模式)程式化存取控制暫存器110中之存取控制識別碼112a至112n之值。提供上文所描述之第一實例存取控制識別碼方案(參見表1)及上文所描述之第二實例存取控制識別碼方案(參見表2)兩者下的實例實施。For example, before executing "Task 1" 220a, the transaction host 102 may execute the access control ID management instructions 214 to configure the access control identifier based on the task 1 bit mask 232a and/or based on the operating mode of the transaction host 102 (e.g., privileged mode or user mode) to program the values of the access control identification codes 112a to 112n in the access control register 110. Example implementations are provided under both the first example access control identification code scheme described above (see Table 1) and the second example access control identification code scheme described above (see Table 2).

實例1:第一實例存取控制識別碼方案(表1)。在上文所描述之第一實例存取控制識別碼方案(參見表1)下,交易主機102可將任務1位元遮罩232a用於在使用者模式中執行「任務1」220a,但並不用於在特權模式中執行「任務1」220a。舉例而言,在使用者模式中執行「任務1」220a之前,交易主機102可執行存取控制識別碼管理指令214以(a)識別待在交易主機102之使用者模式中進行「任務1」220a;(b)存取指示「任務1」220a分配有第一周邊設備104a而非第二周邊設備104b之周邊存取許可的第一位元遮罩232a;且(c)基於第一位元遮罩232a及當前操作模式(使用者模式),將第一存取控制識別碼112a程式化為存取允許值(AC_ID值=0),該存取允許值允許在「任務1」220a之使用者模式執行期間存取第一周邊設備104a;且(b)將第二存取控制識別碼112b程式化為存取防止值(AC_ID值=1),該存取防止值防止在「任務1」220a之使用者模式執行期間存取第二周邊設備104b。相比之下,在特權模式中執行「任務1」220a之前(在上文表1中所展示之第一實例存取控制識別碼方案下),交易主機102可執行存取控制識別碼管理指令214以將第一存取控制識別碼112a及第二存取控制識別碼112b兩者程式化為存取允許值(AC_ID值=0),該存取允許值允許在「任務1」220a之特權模式執行期間存取第一周邊設備104a及第二周邊設備104b兩者。在此情況下,交易主機102可忽略任務1位元遮罩232a,此係因為對於特權模式操作,所有周邊設備104a至104n為可存取的。Example 1: First example access control identification code scheme (Table 1). Under the first example access control ID scheme described above (see Table 1), the transaction host 102 can use the task 1 bit mask 232a to perform "task 1" 220a in user mode, but does not Not used to execute "Task 1" 220a in privileged mode. For example, before executing "Task 1" 220a in the user mode, the transaction host 102 may execute the access control identifier management instruction 214 to (a) identify that "Task 1" is to be executed in the user mode of the transaction host 102 220a; (b) the access indication "Task 1" 220a is assigned the first element mask 232a of the peripheral access permission of the first peripheral device 104a but not the second peripheral device 104b; and (c) based on the first element Mask 232a and the current operating mode (user mode) program the first access control identification code 112a into an access permission value (AC_ID value=0), which allows use in "Task 1" 220a access the first peripheral device 104a during execution of the user mode; and (b) program the second access control identification code 112b to an access prevention value (AC_ID value=1) that prevents access to the first peripheral device 104a during "Task 1" The second peripheral device 104b is accessed during user mode execution of 220a. In contrast, before executing "Task 1" 220a in privileged mode (under the first example access control ID scheme shown in Table 1 above), the transaction host 102 may execute access control ID management instructions. 214 to program both the first access control identification code 112a and the second access control identification code 112b into an access permission value (AC_ID value=0) that allows privileges in "Task 1" 220a Both the first peripheral device 104a and the second peripheral device 104b are accessed during execution of the mode. In this case, the transaction host 102 can ignore the task 1 bit mask 232a because for privileged mode operation, all peripheral devices 104a-104n are accessible.

如上文所提及,在利用第一實例存取控制識別碼方案(展示於表1中)之其他實例中,交易主機102可將位元遮罩232a至232n用於使用者模式及特權模式操作兩者。As mentioned above, in other examples utilizing the first example access control ID scheme (shown in Table 1), the transaction host 102 may use bit masks 232a-232n for user mode and privileged mode operations. Both.

實例2:第二實例存取控制識別碼方案(表2)。在上文所描述之第二實例存取控制識別碼方案(參見表2)下,在執行「任務1」220a(在使用者模式或特權模式中)之前,交易主機102可執行控制位元管理指令214以(a)將第一存取控制識別碼112a程式化為用於第一周邊設備104a之公開存取設定(AC_ID值=0),該公開存取設定允許在交易主機102之特權模式及使用者模式兩者下存取第一周邊設備104a。且(b)將第二存取控制識別碼112b程式化為用於第二周邊設備104b之受限存取設定(AC_ID值=1),該受限存取設定允許在交易主機102之特權模式中但不在使用者模式中存取第二周邊設備104b。Example 2: Second example access control identification code scheme (Table 2). Under the second example access control ID scheme described above (see Table 2), before executing "Task 1" 220a (in user mode or privileged mode), the transaction host 102 may perform control bit management Instructions 214 (a) program the first access control identifier 112a to a public access setting (AC_ID value=0) for the first peripheral device 104a that allows privileged mode on the transaction host 102 and user mode to access the first peripheral device 104a. and (b) program the second access control identification code 112b to a restricted access setting (AC_ID value=1) for the second peripheral device 104b that allows for privileged mode of the transaction host 102 in but not in user mode to access the second peripheral device 104b.

圖3說明根據一個實例之利用存取控制識別碼來控制對周邊設備之存取的另一實例電子裝置300。電子裝置300大體可類似於上文所論述之實例電子裝置100,但除了周邊設備104a至104n及104ac、存取控制器106a至106n及106ac以及儲存存取控制識別碼112之周邊設備104ac內的存取控制暫存器110之外,包括多個交易主機102a至102n。電子裝置100之組件可藉由任何類型之通信鏈路114 (例如,匯流排、電線或其他類型之鏈路)以通信方式彼此連接。3 illustrates another example electronic device 300 utilizing access control identification codes to control access to peripheral devices, according to one example. Electronic device 300 may be generally similar to example electronic device 100 discussed above, except that peripheral devices 104a through 104n and 104ac, access controllers 106a through 106n and 106ac, and peripheral device 104ac storing access control identification code 112. In addition to the access control register 110, a plurality of transaction hosts 102a to 102n are included. The components of electronic device 100 may be communicatively connected to each other via any type of communication link 114 (eg, bus, wire, or other type of link).

各別存取控制器106a至106n及106ac可利用各別存取控制識別碼112 (及可選擇的額外輸入資料)來例如基於(a)存取請求之周邊設備104a至104n、(b)請求存取存取請求之周邊設備104a至104n之各別交易主機102a至102n (在本文中被稱作存取請求交易主機102a至102n)及(c)存取請求交易主機102a至102n之操作模式信號120a至120n(例如,特權模式或者使用者模式)而控制對各別周邊設備104a至104n及104ac之存取。Respective access controllers 106a - 106n and 106ac may utilize respective access control identifiers 112 (and optionally additional input data) to, for example, request peripheral devices 104a - 104n based on (a) access requests, (b) requests Access requesting peripherals 104a - 104n and (c) operating modes of respective transaction hosts 102a - 102n (referred to herein as access requesting transaction hosts 102a - 102n ) and (c) access requesting transaction hosts 102a - 102n Signals 120a - 120n (eg, privileged mode or user mode) control access to respective peripheral devices 104a - 104n and 104ac.

存取控制暫存器110可儲存包括用於各別交易主機102a至102n之AC識別碼112的各別集合的AC識別碼陣列113,其中用於各別交易主機102a至102n之AC識別碼112的集合包括用於各別周邊設備104a至104n及(選擇地)用於周邊設備104ac之各別AC識別碼112。以下表3展示用於多個交易主機102a至102n及多個周邊設備104a至104n及104ac之實例AC識別碼陣列113。 表3.實例AC識別碼陣列113,例如電子裝置300,包括多個交易主機102a至102n及多個周邊設備104a至104n及104ac。    周邊設備 交易主機 104a 104b 104c 104n 104ac 102a 1 1 1 1 1 102b 1 0 1 1 1 102n 1 1 1 1 1 The access control register 110 may store an AC identifier array 113 including a respective set of AC identifiers 112 for respective transaction hosts 102a through 102n, where the AC identifiers 112 for respective transaction hosts 102a through 102n The set of includes respective AC identification codes 112 for respective peripheral devices 104a through 104n and, optionally, for peripheral device 104ac. Table 3 below shows an example AC identification code array 113 for a plurality of transaction hosts 102a-102n and a plurality of peripheral devices 104a-104n and 104ac. Table 3. Example AC identification code array 113, such as electronic device 300, including a plurality of transaction hosts 102a to 102n and a plurality of peripheral devices 104a to 104n and 104ac. Peripheral equipment Trading host 104a 104b 104c 104n 104ac 102a 1 1 1 1 1 102b 1 0 1 1 1 102n 1 1 1 1 1

AC識別碼陣列113中之AC識別碼112的值可由各別存取控制器106a至106n及106ac使用以判定由各別交易主機102a至102n存取各別周邊設備104a至104n及104ac。The value of AC ID 112 in AC ID array 113 may be used by respective access controllers 106a through 106n and 106ac to determine access to respective peripheral devices 104a through 104n and 104ac by respective transaction hosts 102a through 102n.

在一個實例中,AC識別碼陣列113中之AC識別碼112的值可指示存取允許狀態(AC_ID值=0)或存取防止狀態(AC_ID值=1),例如如上文關於表1所論述。在此實例中,當存取請求交易主機102a至102n嘗試存取存取請求之周邊設備104a至104n或者104ac時,與存取請求周邊設備104a至104n或者104ac對應之存取控制器106a至106n或者106ac可(a)自存取請求交易主機102a至102n接收包括交易主機識別碼(TH_id)之存取請求;(b)自儲存於存取控制暫存器110中之AC識別碼陣列113識別與存取請求交易主機102a至102n (基於所接收之TH_id)及存取請求周邊設備104a至104n或者104ac對應之AC識別碼112之值;且(c)基於所識別AC識別碼112進行允許或者防止由存取請求交易主機102a至102n存取存取請求之周邊設備104a至104n或者104ac之存取判定(亦即,若AC_ID值=0,則允許存取,且若AC_ID值=1,則防止存取);且(d)基於存取判定允許或者防止存取存取請求之周邊設備104a至104n或者104ac。In one example, the value of AC identification code 112 in AC identification code array 113 may indicate an access allowed state (AC_ID value=0) or an access prevented state (AC_ID value=1), for example, as discussed above with respect to Table 1 . In this example, when the access requesting transaction host 102a to 102n attempts to access the access requesting peripheral device 104a to 104n or 104ac, the access controller 106a to 106n corresponding to the access requesting peripheral device 104a to 104n or 104ac Or 106ac may (a) receive an access request including a transaction host identification code (TH_id) from the access requesting transaction hosts 102a to 102n; (b) identify from the AC identification code array 113 stored in the access control register 110 The value of the AC identification code 112 corresponding to the access requesting transaction host 102a to 102n (based on the received TH_id) and the access requesting peripheral device 104a to 104n or 104ac; and (c) granting based on the identified AC identification code 112 or Prevent access by the access requesting transaction host 102a to 102n from accessing the access requesting peripheral device 104a to 104n or 104ac (that is, if the AC_ID value=0, then the access is allowed, and if the AC_ID value=1, then prevent access); and (d) allow or prevent access to the peripheral device 104a to 104n or 104ac of the access request based on the access determination.

在另一實例中,AC識別碼陣列113中之AC識別碼112的值可指示開放存取狀態(AC_ID值=0)或受限存取狀態(AC_ID值=1),例如如上文關於表2所論述。在此實例中,當存取請求交易主機102a至102n嘗試存取存取請求之周邊設備104a至104n或者104ac時,與存取請求之周邊設備104a至104n或者104ac對應之存取控制器106a至106n或者106ac可(a)自存取請求交易主機102a至102n接收包括TH_id之存取請求;(b)自存取請求交易主機102a至102n接收各別操作模式信號120a至120n,該等操作模式信號指示存取請求交易主機102a至102n之操作模式(特權模式或者使用者模式);(c)自儲存於存取控制暫存器110中之AC識別碼陣列113識別與存取請求交易主機102a至102n (基於所接收之TH_id)及存取請求之周邊設備104a至104n或者104ac對應的AC識別碼112之值;(d)基於識別AC識別碼112之值及存取請求交易主機102a至102n之操作模式,例如根據上文關於表2所論述之方案,進行允許或者防止由存取請求交易主機102a至102n存取存取請求之周邊設備104a至104n或者104ac之存取判定;且(e)基於存取判定允許或者防止存取存取請求之周邊設備104a至104n或者104ac。In another example, the value of the AC identification code 112 in the AC identification code array 113 may indicate an open access state (AC_ID value=0) or a restricted access state (AC_ID value=1), for example, as described above with respect to Table 2 discussed. In this example, when the access requesting transaction host 102a to 102n attempts to access the access requesting peripheral device 104a to 104n or 104ac, the access controller 106a to 106a corresponding to the access requesting peripheral device 104a to 104n or 104ac 106n or 106ac may (a) receive an access request including TH_id from the access request transaction hosts 102a to 102n; (b) receive respective operation mode signals 120a to 120n from the access request transaction hosts 102a to 102n, which operation modes Signal indicating the operating mode (privileged mode or user mode) of the access requesting transaction hosts 102a to 102n; (c) identifying and accessing the access requesting transaction host 102a from the AC identification code array 113 stored in the access control register 110 to 102n (based on the received TH_id) and the value of the AC identification code 112 corresponding to the peripheral device 104a to 104n or 104ac of the access request; (d) based on the value of the AC identification code 112 and the access request transaction host 102a to 102n The operating mode, for example, according to the scheme discussed above with respect to Table 2, makes an access determination that allows or prevents the access requesting peripheral device 104a to 104n or 104ac from being accessed by the access requesting transaction host 102a to 102n; and (e ) allows or prevents access to the peripheral device 104a to 104n or 104ac of the access request based on the access decision.

如上文所論述,在一些實例中,實例電子裝置100之各別存取控制器106a至106n可包含儲存查找表(LUT)之記憶體107的各別例項,或者替代地可包含邏輯電路系統108之各別例項以實施由上文表1或者表2界定之存取判定方案。As discussed above, in some examples, respective access controllers 106a - 106n of example electronic device 100 may include respective instances of memory 107 that store look-up tables (LUTs), or alternatively may include logic circuitry Each instance of 108 implements the access determination scheme defined in Table 1 or Table 2 above.

關於後者,圖4A至圖4D展示根據一些實例之設置於各別存取控制器106a至106n (且選擇地,存取控制器106ac)中之實例邏輯電路系統108的電路圖。Regarding the latter, Figures 4A-4D show circuit diagrams of example logic circuitry 108 disposed in respective access controllers 106a-106n (and, optionally, access controller 106ac), according to some examples.

首先,圖4A及圖4B展示包括一個交易主機102之實例電子裝置(例如,圖1及圖2中所展示之實例電子裝置100)的實例邏輯電路系統108。First, FIGS. 4A and 4B show example logic circuitry 108 of an example electronic device (eg, the example electronic device 100 shown in FIGS. 1 and 2 ) including a transaction host 102 .

圖4A展示根據如上文所論述之第一實例的實例邏輯電路系統108a,亦即,實施上文表1中所展示之存取控制識別碼方案。邏輯電路系統108a包括反轉各別存取控制識別碼112之值並輸出界定存取判定之值的NOT閘(或反相器) 402。4A shows example logic circuitry 108a according to the first example as discussed above, that is, implementing the access control ID scheme shown in Table 1 above. Logic circuitry 108a includes a NOT gate (or inverter) 402 that inverts the value of the respective access control identification code 112 and outputs a value that defines the access decision.

圖4B展示根據如上文所論述之第二實例的實例邏輯電路系統108b,亦即,實施上文表2中所展示之存取控制識別碼方案。邏輯電路系統108b包括反轉各別存取控制識別碼112之值的NOT閘(或反相器) 402,及處理由NOT閘402輸出之值以及操作模式信號120且輸出界定存取判定之值的OR閘404。4B shows example logic circuitry 108b according to the second example as discussed above, that is, implementing the access control ID scheme shown in Table 2 above. The logic circuitry 108b includes a NOT gate (or inverter) 402 that inverts the value of the respective access control identification code 112, and processes the value output by the NOT gate 402 and the operating mode signal 120 and outputs a value that defines the access decision. OR gate 404.

接著,圖4C及圖4D展示用於包括多個交易主機102之實例電子裝置(例如,圖3中所展示之實例電子裝置300)的實例邏輯電路系統108。Next, FIGS. 4C and 4D show example logic circuitry 108 for an example electronic device including a plurality of transaction hosts 102 (eg, the example electronic device 300 shown in FIG. 3 ).

圖4C展示根據如上文所論述之第一實例的實例邏輯電路系統108c,亦即,採用多個交易主機102實施上文表1中所展示之存取控制識別碼方案。邏輯電路系統108c包括多工器(MUX) 406,該多工器接收(a)用於各別交易主機102之AC識別碼112的值及(b)識別請求存取各別周邊設備104之各別交易主機102的存取請求識別碼(TH_id),且回應於存取請求識別碼(TH_id)而選擇與各別交易主機102相聯結之各別AC識別碼112的值,該選定AC_ID值經轉送至反轉AC_ID值且輸出界定存取判定之值的NOT閘(或反相器) 402。4C shows example logic circuitry 108c according to the first example as discussed above, that is, using multiple transaction hosts 102 to implement the access control ID scheme shown in Table 1 above. Logic circuitry 108c includes a multiplexer (MUX) 406 that receives (a) the value of the AC identification code 112 for the respective transaction host 102 and (b) identifies each request to access the respective peripheral device 104 The access request identification code (TH_id) of the respective transaction host 102 is selected, and the value of the respective AC identification code 112 associated with the respective transaction host 102 is selected in response to the access request identification code (TH_id). The selected AC_ID value is Passed to NOT gate (or inverter) 402 which inverts the AC_ID value and outputs a value defining the access decision.

在其他實例中,表1、表2及/或表3中闡述之實例AC_ID值的意義可顛倒,例如其中AC_ID=0指示存取防止或受限存取設定,而AC_ID=1指示存取允許或開放存取設定。在此等實例中,NOT閘(反相器) 402可自圖4A至圖4D中所展示之邏輯電路系統108a至108d省略。In other examples, the meanings of the example AC_ID values set forth in Table 1, Table 2, and/or Table 3 may be reversed, for example, where AC_ID=0 indicates access prevention or restricted access settings, and AC_ID=1 indicates access allowed. or open access settings. In these examples, NOT gate (inverter) 402 may be omitted from the logic circuitry 108a - 108d shown in Figures 4A - 4D.

圖4D展示根據如上文所論述之第二實例的實例邏輯電路系統108d,亦即,實施上文表2中所展示之存取控制識別碼方案。邏輯電路系統108d包括多工器(MUX) 406,該多工器接收(a)用於各別交易主機102之AC識別碼112的值及(b)識別請求存取各別周邊設備104之各別交易主機102的存取請求識別碼(TH_id),且回應於存取請求識別碼(TH_id)而選擇與各別交易主機102相聯結之各別AC識別碼112的值,該選定AC_ID值經轉送至反轉AC_ID值之NOT閘402。邏輯電路系統108d進一步包括處理由NOT閘402輸出之值以及各別交易主機102之操作模式信號120且輸出界定存取判定之值的OR閘404。4D shows example logic circuitry 108d according to the second example as discussed above, that is, implementing the access control ID scheme shown in Table 2 above. Logic circuitry 108d includes a multiplexer (MUX) 406 that receives (a) the value of the AC identification code 112 for the respective transaction host 102 and (b) identifies each request to access the respective peripheral device 104 The access request identification code (TH_id) of the respective transaction host 102 is selected, and the value of the respective AC identification code 112 associated with the respective transaction host 102 is selected in response to the access request identification code (TH_id). The selected AC_ID value is Forwarded to NOT gate 402 which inverts AC_ID value. The logic circuitry 108d further includes an OR gate 404 that processes the value output by the NOT gate 402 and the operating mode signal 120 of the respective transaction host 102 and outputs a value that defines an access decision.

圖5為用於控制對電子裝置中之周邊設備之存取的實例方法500之流程圖,該電子裝置包括交易主機、第一周邊設備、第二周邊設備及存取控制暫存器。在一些實例中,電子裝置可為上文所論述之實例電子裝置100或電子裝置300。在502處,將用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼儲存於存取控制暫存器中。舉例而言,第一存取控制識別碼及第二存取控制識別碼可在執行各別任務(例如,裝置驅動程式任務)之前由交易主機例如基於交易主機之操作模式及/或基於待存取用於進行各別任務之各別周邊設備(例如,第一周邊設備、第二周邊設備或另一周邊設備)而程式化。Figure 5 is a flowchart of an example method 500 for controlling access to peripherals in an electronic device including a transaction host, a first peripheral, a second peripheral, and an access control register. In some examples, the electronic device may be example electronic device 100 or electronic device 300 discussed above. At 502, a first access control identification code for the first peripheral device and a second access control identification code for the second peripheral device are stored in the access control register. For example, the first access control identifier and the second access control identifier may be determined by the transaction host before performing respective tasks (eg, device driver tasks), for example based on the transaction host's operating mode and/or based on the pending Programmed with respective peripheral devices (eg, a first peripheral device, a second peripheral device, or another peripheral device) for performing respective tasks.

在504處,在各別任務之執行期間,與第一周邊設備相聯結之第一存取控制器自交易主機接收存取第一周邊設備之請求。舉例而言,交易主機可執行與第一周邊設備對應之裝置驅動程式任務。在一些實例中,來自交易主機之存取請求選擇地包括指示交易主機之特權模式或者使用者模式的操作模式信號。At 504, during execution of the respective tasks, a first access controller associated with the first peripheral device receives a request from the transaction host to access the first peripheral device. For example, the transaction host may execute a device driver task corresponding to the first peripheral device. In some examples, the access request from the transaction host optionally includes an operating mode signal indicating a privileged mode or a user mode of the transaction host.

在506處,第一存取控制器自存取控制暫存器存取用於第一周邊設備之第一存取控制識別碼。在508處,第一存取控制器至少基於用於第一周邊設備之經存取的第一存取控制識別碼,例如使用儲存於記憶體中之各別LUT或者使用例如如圖4A至圖4D中之任一者中所展示的各別邏輯電路系統,進行交替地允許或者防止由交易主機存取第一周邊設備之存取判定。舉例而言,第一存取控制器可根據上文關於表1所描述之存取控制識別碼方案進行存取判定。在一些實例中,第一存取控制器亦可使用選擇地接收之操作模式信號(參見上文504處)作為存取判定之另一輸入。舉例而言,第一存取控制器可基於第一存取控制識別碼及由可選擇的操作模式信號指示之操作模式,根據上文關於表2所描述之存取控制識別碼方案進行存取判定。At 506, the first access controller accesses the first access control identification code for the first peripheral device from the access control register. At 508, the first access controller is based on at least the accessed first access control identification for the first peripheral device, such as using a respective LUT stored in memory or using, for example, Figures 4A-4 Respective logic circuitry shown in any of 4D makes access decisions that alternately allow or prevent access to the first peripheral device by the transaction host. For example, the first access controller may make the access determination according to the access control identification code scheme described above with respect to Table 1. In some examples, the first access controller may also use the selectively received operating mode signal (see 504 above) as another input for the access determination. For example, the first access controller may perform access according to the access control identification scheme described above with respect to Table 2 based on the first access control identification code and the operating mode indicated by the selectable operating mode signal. determination.

在510處,第一存取控制器基於存取判定允許或者防止存取第一周邊設備。舉例而言,為防止存取第一周邊設備,第一存取控制器可強制與所請求交易相聯結之「晶片選擇」信號(亦被稱作「周邊設備選擇」信號)自值=1 (指示第一周邊設備為目標/經選定)至值=0 (指示第一周邊設備不為目標/未經選定),使得第一周邊設備忽略交易。替代地,為允許存取第一周邊設備,第一存取控制器可使晶片選擇信號值保持不變(值=1),使得第一周邊設備處理交易,或迫使與所請求交易相聯結之晶片選擇信號自值=0至值=1。(在替代性實例中,其他晶片選擇信號值可經界定用於表示各別周邊設備是否為目標/經選定。舉例而言,系統可界定晶片選擇信號值=0指示周邊設備為目標/經選定,而晶片選擇信號值=1指示周邊設備不為目標/未經選定)。At 510, the first access controller allows or prevents access to the first peripheral device based on the access decision. For example, to prevent access to the first peripheral, the first access controller may force the "chip select" signal (also referred to as the "peripheral select" signal) associated with the requested transaction to have a value of =1 ( indicating the first peripheral is targeted/selected) to value=0 (indicating the first peripheral is not targeted/selected), causing the first peripheral to ignore the transaction. Alternatively, to allow access to the first peripheral, the first access controller may leave the chip select signal value unchanged (value = 1), causing the first peripheral to process the transaction, or force the transaction associated with the requested transaction. The chip select signal ranges from value=0 to value=1. (In alternative examples, other die select signal values may be defined to indicate whether the respective peripheral device is targeted/selected. For example, the system may define a die select signal value = 0 to indicate that the peripheral device is targeted/selected. , while a chip select signal value = 1 indicates that the peripheral is not targeted/not selected).

圖6為用於控制對電子裝置中之周邊設備之存取的實例方法600之流程圖,該電子裝置包括交易主機、多個周邊設備及儲存用於多個周邊設備之各別存取控制識別碼(AC識別碼)之存取控制暫存器。在一些實例中,電子裝置可為上文所論述之實例電子裝置100或電子裝置300,且方法600可與上文關於表1所論述之存取控制識別碼方案對應。Figure 6 is a flow diagram of an example method 600 for controlling access to peripheral devices in an electronic device including a transaction host, a plurality of peripheral devices, and storing respective access control identities for the plurality of peripheral devices. Access control register of code (AC identification code). In some examples, the electronic device may be example electronic device 100 or electronic device 300 discussed above, and method 600 may correspond to the access control identification code scheme discussed above with respect to Table 1.

在602處,交易主機例如基於交易主機之計劃操作而程式化用於多個周邊設備之AC識別碼。在此實例中,對於特權模式操作,交易主機將各別周邊設備之AC識別碼設定為存取允許設定(AC_ID值=0),該存取允許設定允許由交易主機存取各別周邊設備。在一些實例中,交易主機可執行設置於監督韌體中之存取控制識別碼管理指令以存取及程式化AC識別碼。在一些實例中,當為特權模式操作設定AC識別碼時,交易主機可忽略位元遮罩,因為所有周邊設備在特權模式操作期間為可存取的。At 602, the transaction host programs AC identification codes for the plurality of peripheral devices, such as based on the transaction host's planned operation. In this example, for privileged mode operation, the transaction host sets the AC ID of the respective peripheral device to an access permission setting (AC_ID value = 0) that allows access to the respective peripheral device by the transaction host. In some examples, the transaction host may execute access control identifier management instructions provided in supervisory firmware to access and program AC identifiers. In some instances, when setting the AC ID for privileged mode operation, the transaction host can ignore the bit mask because all peripheral devices are accessible during privileged mode operation.

在604處,交易主機在特權模式中操作,例如,藉由執行相關監督程式碼,例如監督韌體。在606處,當交易主機在特權模式中操作時,與多個周邊設備中之各別周邊設備對應的各別存取控制器基於用於各別周邊設備之各別AC識別碼之存取允許設定(AC_ID值=0),例如使用儲存於記憶體中之各別LUT或使用各別邏輯電路系統(例如,如圖4A (單一交易主機情境)或者圖4C (多個交易主機情境)中所展示),允許存取各別周邊設備。At 604, the transaction host operates in a privileged mode, for example, by executing relevant supervisory code, such as supervisory firmware. At 606, when the transaction host operates in a privileged mode, a respective access controller corresponding to a respective one of the plurality of peripheral devices grants access based on a respective AC identification code for the respective peripheral device. Setting (AC_ID value = 0), such as using separate LUTs stored in memory or using separate logic circuit systems (for example, as shown in Figure 4A (single trading host scenario) or Figure 4C (multiple trading host scenarios) display), allowing access to individual peripheral devices.

在608處,當交易主機在特權模式(其中AC識別碼經程式化為0)中操作時,由交易主機執行之監督韌體識別與在使用者模式中待進行之選定周邊設備(「周邊設備N」)相關的各別任務。在610處,在進行與周邊設備N相關之各別任務之前,交易主機存取與各別任務相聯結之各別位元遮罩,該各別位元遮罩指示多個周邊設備(包括周邊設備N)之用於進行各別任務的存取設定,且基於各別位元遮罩程式化用於多個周邊設備之AC識別碼。在此實例中,交易主機(a)將用於周邊設備N之AC識別碼程式化為存取允許設定(AC_ID值=0),該存取允許設定允許在各別任務之使用者模式執行期間存取周邊設備N,且(b)將用於多個周邊設備之其他周邊設備的AC識別碼程式化為存取防止設定(AC_ID值=1),該存取防止設定防止在各別任務之使用者模式執行期間存取每一各別周邊設備。At 608, when the transaction host is operating in privileged mode (where the AC ID is programmed to 0), supervisory firmware identification performed by the transaction host is associated with the selected peripheral device to be performed in user mode ("Peripheral Device"). N") related individual tasks. At 610, prior to performing respective tasks associated with peripheral device N, the transaction host accesses respective bit masks associated with the respective tasks, the respective bit masks indicating multiple peripheral devices (including peripheral Device N) is used to perform access settings for individual tasks and program AC identification codes for multiple peripheral devices based on individual bit masks. In this example, transaction host (a) programs the AC ID for peripheral device N into an access permission setting (AC_ID value = 0) that is allowed during user mode execution of the respective task. Access peripheral device N, and (b) program the AC identifiers for other peripheral devices of the plurality of peripheral devices into an access prevention setting (AC_ID value = 1) that prevents access between separate tasks. Access each individual peripheral device during user mode execution.

在612處,交易主機自特權模式轉換至使用者模式,且進行與周邊設備N相關之各別任務。在614處,為進行與周邊設備N相關之各別任務,與周邊設備N對應之存取控制器基於用於周邊設備N之AC識別碼的存取允許設定(AC_ID值=0) (如基於與各別任務相聯結之各別位元遮罩而程式化),例如使用儲存於記憶體中之各別LUT或使用各別邏輯電路系統(例如,如圖4A (單個交易主機情境)或者圖4C (多個交易主機情境)中所展示),允許存取周邊設備N (例如,存取周邊設備N中之暫存器)。若交易主機嘗試存取其他周邊設備中之任一者,則與各別其他周邊設備對應之存取控制器基於用於另一周邊設備之各別AC識別碼之存取防止設定(AC_ID值=1),例如使用各別LUT或邏輯電路系統(例如,如圖4A或者圖4C中所展示),防止存取其他周邊設備。At 612, the transaction host transitions from privileged mode to user mode and performs respective tasks related to peripheral device N. At 614, in order to perform respective tasks related to peripheral device N, the access controller corresponding to peripheral device N sets the access permission based on the AC identification code for peripheral device N (AC_ID value = 0) (such as based on Programmed with individual bit masks associated with individual tasks), such as using individual LUTs stored in memory or using individual logic circuits (e.g., as shown in Figure 4A (single trading host scenario) or Figure 4C (multiple transaction hosts scenario)), allowing access to peripheral device N (eg, access to the registers in peripheral device N). If the transaction host attempts to access any of the other peripheral devices, the access controller corresponding to the respective other peripheral device has an access prevention setting based on the respective AC identification code for the other peripheral device (AC_ID value = 1), such as using separate LUTs or logic circuitry (eg, as shown in Figure 4A or Figure 4C) to prevent access to other peripheral devices.

在616處,交易主機完成與周邊設備N相關之各別任務。在618處,交易主機可識別待在使用者模式中進行之下一交易主機活動。舉例而言,如620處所指示,若由交易主機執行之監督韌體識別待在使用者模式中進行之下一周邊設備相關之任務(與相同周邊設備或另一周邊設備相關),則方法可返回至610,其中交易主機程式化AC識別碼以相應地用於進行下一任務(例如,基於與下一任務相聯結之各別位元遮罩)。作為另一實例,如622處所指示,若由交易主機執行之監督韌體識別待進行之監督或特權操作,則方法可返回至602,其中交易主機(選擇地)將用於多個周邊設備之AC識別碼程式化為存取允許設定(AC_ID值=0) (例如不考慮各別位元遮罩)以允許在監督或特權操作期間由交易主機存取各別周邊設備,如上文所論述。在一些實例或情境下,為監督或特權操作程式化AC識別碼可為多餘的(因為運行監督程式碼之交易主機可存取所有暫存器),且因此可省略或可選擇在602處之AC識別碼程式化。At 616, the transaction host completes the respective tasks associated with peripheral device N. At 618, the transaction host may identify the next transaction host activity to be performed in user mode. For example, as indicated at 620, if the supervisory firmware executed by the transaction host identifies a next peripheral-related task to be performed in user mode (either related to the same peripheral or another peripheral), the method may Return to 610 where the transaction host programs the AC identification code accordingly for use in performing the next task (eg, based on the respective bit mask associated with the next task). As another example, as indicated at 622, if supervisory firmware executed by the transaction host identifies a supervisory or privileged operation to be performed, the method may return to 602, where the transaction host will (optionally) be used for multiple peripheral devices. The AC ID is programmed into an access permission setting (AC_ID value = 0) (ie, regardless of individual bit masks) to allow access to individual peripherals by the transaction host during supervisory or privileged operations, as discussed above. In some instances or scenarios, programming AC identifiers for supervisory or privileged operations may be redundant (since all registers are accessible to the trading host running the supervisory code), and thus may be omitted or optionally included at 602 AC identification code stylization.

圖7為用於控制對電子裝置中之周邊設備之存取的實例方法700之流程圖,該電子裝置包括交易主機、多個周邊設備及儲存用於多個周邊設備之各別存取控制識別碼(AC識別碼)之存取控制暫存器。在一些實例中,電子裝置可為上文所論述之實例電子裝置100或實例電子裝置300,且方法700可與上文關於表2所論述之存取控制識別碼方案對應。Figure 7 is a flow diagram of an example method 700 for controlling access to peripheral devices in an electronic device including a transaction host, a plurality of peripheral devices, and storing respective access control identities for the plurality of peripheral devices. Access control register of code (AC identification code). In some examples, the electronic device may be example electronic device 100 or example electronic device 300 discussed above, and method 700 may correspond to the access control identification code scheme discussed above with respect to Table 2.

在702處,交易主機例如基於交易主機之計劃操作而程式化用於多個周邊設備之AC識別碼。在此實例中,對於特權模式操作,交易主機將用於各別周邊設備之AC識別碼設定為受限存取設定(AC_ID值=1)。在一些實例中,交易主機可執行設置於監督韌體中之存取控制識別碼管理指令以存取及程式化AC識別碼。At 702, the transaction host programs AC identification codes for the plurality of peripheral devices, such as based on the transaction host's planned operation. In this example, for privileged mode operation, the transaction host sets the AC ID for the respective peripheral device to the restricted access setting (AC_ID value = 1). In some examples, the transaction host may execute access control identifier management instructions provided in supervisory firmware to access and program AC identifiers.

在704處,交易主機在特權模式中操作,例如,藉由執行相關監督韌體。在706處,當交易主機在特權模式(其中AC識別碼經程式化為1)中操作時,與多個周邊設備中之各別周邊設備對應的各別存取控制器例如使用儲存於記憶體中之各別LUT或使用各別邏輯電路系統(例如,如圖4B (單一交易主機情境)或者圖4D (多個交易主機情境)中所展示),允許存取各別周邊設備。由交易主機存取各別周邊設備之各請求可包括指示交易主機之特權模式的操作模式信號(例如,根據表2中展示之控制位元方案,操作模式信號值=1)。對於由交易主機存取各別周邊設備之各別請求,與各別周邊設備對應之各別存取控制器可根據上文在表2中所展示之控制位元方案,基於(a)用於各別周邊設備之各別AC識別碼及(選擇地,在多個交易主機情境下)各別交易主機,及(b)指示特權模式之操作模式信號(例如,操作模式信號值=1),判定允許或者防止存取各別周邊設備。更特別地,各別存取控制器基於各別交易主機之特權模式(例如,操作模式信號值=1)允許存取各別周邊設備。At 704, the trading host operates in a privileged mode, for example, by executing relevant supervisory firmware. At 706, when the transaction host is operating in a privileged mode (where the AC identification code is programmed to 1), a respective access controller corresponding to a respective one of the plurality of peripheral devices, such as using stored in memory Individual LUTs in the LUT may use separate logic circuitry (for example, as shown in Figure 4B (single transaction host scenario) or Figure 4D (multiple transaction host scenarios)) to allow access to individual peripheral devices. Each request by the trading host to access a respective peripheral device may include an operating mode signal indicating a privileged mode of the trading host (eg, operating mode signal value = 1 according to the control bit scheme shown in Table 2). For respective requests by the transaction host to access respective peripheral devices, the respective access controllers corresponding to the respective peripheral devices may be based on the control bit scheme shown above in Table 2, based on (a) for the respective AC identification code of the respective peripheral device and (optionally, in the case of multiple trading hosts) the respective trading host, and (b) an operating mode signal indicating privileged mode (e.g., operating mode signal value = 1), Determines whether to allow or prevent access to individual peripheral devices. More specifically, the respective access controller allows access to the respective peripheral device based on the privileged mode of the respective transaction host (eg, operating mode signal value = 1).

在708處,當交易主機在特權模式中操作時,由交易主機執行之監督韌體識別與使用者模式中之多個周邊設備中之選定周邊設備(「周邊設備N」)相關之待進行的各別任務。在710處,在使用者模式中進行與周邊設備N相關之各別任務之前,交易主機存取與各別任務相聯結之各別位元遮罩,該各別位元遮罩指示多個周邊設備(包括周邊設備N)之用於進行各別任務的存取設定,且基於各別位元遮罩程式化用於與交易主機相聯結之多個周邊設備之AC識別碼。在此實例中,交易主機根據上文在表2中所展示之控制位元方案而(a)將用於周邊設備N之AC識別碼程式化為開放允許設定(AC_ID值=0),且(b)將用於與交易主機相聯結之多個周邊設備中之其他周邊設備的AC識別碼程式化為受限存取設定(AC_ID值=1)。At 708, while the transaction host is operating in privileged mode, supervisory firmware executed by the transaction host identifies pending transactions associated with a selected peripheral device ("Peripheral Device N") among the plurality of peripheral devices in user mode. Separate tasks. At 710, prior to performing respective tasks associated with peripheral device N in user mode, the transaction host accesses respective bit masks associated with the respective tasks, the respective bit masks indicating multiple peripherals Devices (including peripheral device N) are configured for access to individual tasks, and AC identification codes for multiple peripheral devices associated with the transaction host are programmed based on individual bit masks. In this example, the transaction host (a) programs the AC ID for peripheral device N to the open permission setting (AC_ID value = 0) according to the control bit scheme shown above in Table 2, and ( b) Program the AC IDs for other peripheral devices in the plurality of peripheral devices connected to the transaction host to a restricted access setting (AC_ID value = 1).

在712處,交易主機自特權模式轉換至使用者模式,且進行與周邊設備N相關之各別任務。在714處,為進行與周邊設備N相關之各別任務,與周邊設備N對應之存取控制器基於(a)開放存取設定(AC_ID值=0),例如使用儲存於記憶體中之各別LUT或使用各別邏輯電路系統(例如,如圖4B (單個交易主機情境)或者圖4D (多個交易主機情境)中所展示),允許存取周邊設備N (例如,存取周邊設備N中之暫存器)。若交易主機嘗試存取其他周邊設備中之任一者,則與其他周邊設備對應之各別存取控制器根據表2,基於(a)受限存取設定(AC_ID值=1)及(b)交易主機之使用者模式(操作模式信號值=0),例如使用各別LUT或邏輯電路系統(例如,如圖4B或者圖4D中所展示),防止存取其他周邊設備。At 712, the transaction host transitions from privileged mode to user mode and performs various tasks related to peripheral device N. At 714, in order to perform respective tasks related to peripheral device N, the access controller corresponding to peripheral device N is based on (a) the open access setting (AC_ID value = 0), such as using each stored in the memory. Different LUTs or using separate logic circuitry (e.g., as shown in Figure 4B (single transaction host scenario) or Figure 4D (multiple transaction host scenario)), allow access to peripheral device N (e.g., access peripheral device N register). If the transaction host attempts to access any of the other peripheral devices, the respective access controller corresponding to the other peripheral device is based on (a) the restricted access setting (AC_ID value = 1) and (b) according to Table 2 ) User mode of the transaction host (operating mode signal value = 0), such as using separate LUTs or logic circuits (for example, as shown in Figure 4B or Figure 4D) to prevent access to other peripheral devices.

在716處,交易主機在使用者模式中完成與周邊設備N相關之各別任務。在718處,交易主機可識別待進行之下一交易主機活動。舉例而言,如720處所指示,若由交易主機執行之監督韌體識別待在使用者模式中進行之下一周邊設備相關之任務(與相同周邊設備或另一周邊設備相關),則方法可返回至710,其中交易主機程式化AC識別碼以相應地用於進行下一任務(例如,基於與下一任務相聯結之各別位元遮罩)。作為另一實例,如722處所指示,若由交易主機執行之監督韌體識別待在特權模式中進行之監督或特權操作,則方法可返回至702,其中交易主機將用於多個周邊設備之AC識別碼程式化為受限存取設定(AC_ID值=1),如上文所論述。At 716, the transaction host completes respective tasks associated with peripheral device N in user mode. At 718, the transaction host can identify the next transaction host activity to proceed. For example, as indicated at 720, if the supervisory firmware executed by the transaction host identifies a next peripheral-related task to be performed in user mode (either related to the same peripheral or another peripheral), the method may Returning to 710, the transaction host programs the AC identification code accordingly for use in performing the next task (eg, based on the respective bit mask associated with the next task). As another example, as indicated at 722, if supervisory firmware executed by the transaction host identifies supervisory or privileged operations to be performed in privileged mode, the method may return to 702, where the transaction host will be used for multiple peripheral devices. The AC ID is programmed into a restricted access setting (AC_ID value = 1), as discussed above.

圖8為用於控制對電子裝置中之周邊設備之存取的實例方法800之流程圖,該電子裝置包括交易主機、第一周邊設備、第二周邊設備及儲存各別存取控制識別碼(AC識別碼)之存取控制暫存器。在一些實例中,電子裝置可為上文所論述之實例電子裝置100或電子裝置300,且方法800可與上文關於例如上文所描述之表1、表2或者表3中的任一者所論述之存取控制識別碼方案對應。8 is a flow diagram of an example method 800 for controlling access to peripherals in an electronic device including a transaction host, a first peripheral, a second peripheral and storing respective access control identification codes ( AC identification code) access control register. In some examples, the electronic device may be the example electronic device 100 or the electronic device 300 discussed above, and the method 800 may be as described above with respect to any of Table 1, Table 2, or Table 3 described above, for example. Corresponds to the access control ID scheme discussed.

在802處,將用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼儲存於存取控制暫存器中。交易主機可隨時間推移動態地程式化第一存取控制識別碼及第二存取控制識別碼以用於進行不同類型之操作,例如特權模式操作及使用者模式操作,包括與第一及第二周邊設備相關之操作。在一些實例中,交易主機可執行設置於監督韌體中之存取控制識別碼管理指令以在執行各別任務(例如,裝置驅動程式任務)之前動態地程式化第一及第二存取控制識別碼。At 802, a first access control identification code for the first peripheral device and a second access control identification code for the second peripheral device are stored in the access control register. The transaction host can dynamically program the first access control identifier and the second access control identifier over time to perform different types of operations, such as privileged mode operations and user mode operations, including those related to the first and second access control identifiers. 2. Operations related to peripheral equipment. In some examples, the transaction host may execute access control identifier management instructions provided in the supervisory firmware to dynamically program the first and second access controls before performing respective tasks (e.g., device driver tasks) Identification code.

舉例而言,在804處,對於特權模式操作,交易主機設定第一存取控制識別碼及第二存取控制識別碼以允許分別存取第一周邊設備及第二周邊設備。在一些實例或情境下,為特權模式操作程式化AC識別碼可為多餘的(因為運行監督程式碼之交易主機可存取所有暫存器),且因此可省略或可選擇在804處之AC識別碼程式化。在一些實例中,交易主機根據如上文關於上文所描述之表1、表2或者表3中的任一者所論述之存取位元方案設定第一及第二存取控制識別碼。在806處,交易主機在第一時間進行特權模式操作,因此在806處,操作模式信號指示特權模式。For example, at 804, for privileged mode operation, the transaction host sets a first access control identifier and a second access control identifier to allow access to the first peripheral device and the second peripheral device, respectively. In some instances or scenarios, programming the AC identifier for privileged mode operations may be redundant (since the trading host running the supervision code has access to all registers), and therefore the AC at 804 may be omitted or selected Identifier stylization. In some examples, the transaction host sets the first and second access control identification codes according to the access bit scheme as discussed above with respect to any of Table 1, Table 2, or Table 3 described above. At 806, the transaction host operates in privileged mode for the first time, so at 806, the operating mode signal indicates privileged mode.

在808處,對於與第一周邊設備相關之使用者模式操作(使用者模式任務),交易主機存取與使用者模式任務相聯結之各別位元遮罩,該位元遮罩指示用於至少第一及第二周邊設備之存取設定,且基於各別位元遮罩程式化用於至少第一及第二周邊設備之AC識別碼。在此實例中,交易主機(a)設定第一存取控制識別碼以允許由交易主機在使用者模式中存取第一周邊設備,且(b)設定第二存取控制識別碼以防止由交易主機在使用者模式中存取第二周邊設備。在一些實例中,交易主機根據如上文關於上文所描述之表1、表2或者表3中的任一者所論述之存取位元方案設定第一及第二存取控制識別碼。在810處,交易主機在第二時間進行與第一周邊設備相關之使用者模式任務,因此,在810處,操作模式信號指示使用者模式。At 808, for a user mode operation associated with the first peripheral device (user mode task), the transaction host accesses the respective bit mask associated with the user mode task, the bit mask instructions for Access settings for at least first and second peripheral devices, and AC identification codes for at least first and second peripheral devices programmed based on respective bit masks. In this example, the transaction host (a) sets a first access control identifier to allow access to the first peripheral device by the transaction host in user mode, and (b) sets a second access control identifier to prevent access by the transaction host to the first peripheral device in user mode. The transaction host accesses the second peripheral device in user mode. In some examples, the transaction host sets the first and second access control identification codes according to the access bit scheme as discussed above with respect to any of Table 1, Table 2, or Table 3 described above. At 810, the transaction host performs user mode tasks associated with the first peripheral device at a second time, and therefore, at 810, the operating mode signal indicates user mode.

交易主機可繼續隨時間推移以此方式動態地程式化第一及第二存取控制識別碼以用於進行不同類型之操作,例如特權模式操作及使用者模式操作,包括與第一及第二周邊設備相關之操作。The transaction host may continue to dynamically program the first and second access control identifiers in this manner over time for different types of operations, such as privileged mode operations and user mode operations, including those associated with the first and second access control identifiers. Operations related to peripheral equipment.

圖9為用於在電子裝置中使用任務相關之位元遮罩控制對周邊設備之存取的實例方法900之流程圖,該電子裝置包括交易主機、第一周邊設備、第二周邊設備以及包括用於第一周邊設備之第一存取控制識別碼及用於第二周邊設備之第二存取控制識別碼的存取控制暫存器。在902處,儲存包括與第一周邊設備相關之第一任務的電腦可讀程式碼及與第一任務對應之第一位元遮罩,其中第一位元遮罩指示第一周邊設備及第二周邊設備之用於進行第一任務之各別存取設定。在904處,在執行第一任務之前,交易主機執行存取控制識別碼管理指令以基於(a)與第一任務對應之第一位元遮罩,及在一些實施中(b)交易主機之操作模式而程式化存取控制暫存器中之第一及第二存取控制識別碼。在906處,在更新存取控制暫存器中之第一及第二存取控制識別碼之後,交易主機執行與第一周邊設備相關之第一任務。在908處,在執行第一任務期間,與第一周邊設備相聯結之第一存取控制器至少基於存取控制暫存器中之基於第一位元遮罩程式化之第一存取控制識別碼而控制對第一周邊設備之存取。在910處,亦在執行第一任務期間,與第二周邊設備相聯結之第二存取控制器至少基於存取控制暫存器中之基於第一位元遮罩程式化之第二存取控制識別碼而控制對第二周邊設備之存取。9 is a flowchart of an example method 900 for controlling access to peripheral devices using task-related bit masks in an electronic device including a transaction host, a first peripheral device, a second peripheral device, and a device including Access control registers for the first access control identification code of the first peripheral device and the second access control identification code of the second peripheral device. At 902, store computer-readable program code including a first task related to the first peripheral device and a first element mask corresponding to the first task, wherein the first element mask indicates the first peripheral device and the first element mask. The two peripheral devices are used to perform separate access settings for the first task. At 904, prior to executing the first task, the transaction host executes the access control identifier management instructions based on (a) the bit mask corresponding to the first task, and in some implementations (b) the transaction host's operating mode and program the first and second access control identification codes in the access control register. At 906, after updating the first and second access control identification codes in the access control register, the transaction host performs a first task related to the first peripheral device. At 908, during execution of the first task, the first access controller associated with the first peripheral device is based on at least the first access control based on the first element mask programming in the access control register. The identification code controls access to the first peripheral device. At 910, also during execution of the first task, the second access controller associated with the second peripheral device is based on at least the second access based on the first element mask programming in the access control register. The control identification code controls access to the second peripheral device.

100,300:電子裝置 102,102a,102b...102n:交易主機 104,104a,104b,104c...104n,104ac:周邊設備 106,106a,106b,106c...106n,106ac:存取控制器 107:記憶體 108,108a,108b,108c,108d:邏輯電路系統 110:存取控制暫存器 112,112a,112b,112c...112n,112ac:存取控制識別碼 113:AC識別碼陣列 114:通信鏈路 116:外部主機 120,120a,120b...120n:操作模式信號 202:非暫時性記憶體 202a:特權區段 202b:非特權區段 206:監督程式碼 208:使用者-空間程式碼 212:定序程式 214:存取控制識別碼管理指令 214a,214b,214c…214n:暫存器 220a,220b…220n:任務 230:位元遮罩資料結構 232a,232b…232n:位元遮罩 402:NOT閘 404:OR閘 406:多工器 500,600,700,800,900:方法 502,504,506,508,510,602,604,606,608,610,612,614,616,618,620,622,702,704,706,708,710,712,714,716,718,720,722,802,804,806,808,810,902,904,906,908,910:步驟 ACR,TH_id:存取請求 100,300: Electronic devices 102,102a,102b...102n: Transaction host 104,104a,104b,104c...104n,104ac: Peripheral equipment 106,106a,106b,106c...106n,106ac: Access controller 107:Memory 108,108a,108b,108c,108d: Logic circuit system 110: Access control register 112,112a,112b,112c...112n,112ac: access control identification code 113:AC identification code array 114: Communication link 116:External host 120,120a,120b...120n: Operation mode signal 202: Non-transitory memory 202a: Privileged section 202b: Unprivileged section 206: Supervision code 208:User-space code 212: Sequencing program 214: Access control identification code management command 214a, 214b, 214c…214n: temporary register 220a,220b…220n: Task 230: Bit mask data structure 232a,232b…232n: bit mask 402:NOT gate 404:OR gate 406:Multiplexer 500,600,700,800,900:Method 502,504,506,508,510,602,604,606,608,610,612,614,616,618,620,622,702,704,706,708,710,712,714,716,718,720,722,802,804,806,8 08,810,902,904,906,908,910: Steps ACR, TH_id: access request

下文結合諸圖描述本發明之實例態樣,其中: 圖1說明根據一個實例之利用存取控制識別碼以控制對周邊設備之存取的實例電子裝置(例如,SoC); 圖2說明根據一個實例之圖1之實例電子裝置的額外態樣; 圖3說明根據一個實例之利用存取控制識別碼來控制對周邊設備之存取的另一實例電子裝置; 圖4A至圖4D展示根據一些實例之設置於各別存取控制器中之實例邏輯電路系統的電路圖; 圖5為用於使用儲存於存取控制暫存器中之存取控制識別碼控制對電子裝置中之周邊設備之存取的實例方法之流程圖; 圖6為用於使用第一實例存取控制識別碼方案來控制對電子裝置中之周邊設備之存取的實例方法之流程圖; 圖7為用於使用第二實例存取控制識別碼方案控制對電子裝置中之周邊設備之存取的實例方法之流程圖; 圖8為根據一個實例的用於針對特權模式操作及使用者模式操作兩者而控制對電子裝置中之周邊設備之存取的實例方法之流程圖;且 圖9為用於使用任務相關之位元遮罩控制對周邊設備之存取的實例方法之流程圖。 Example aspects of the present invention are described below with reference to the drawings, in which: 1 illustrates an example electronic device (e.g., SoC) utilizing access control identification codes to control access to peripheral devices, according to one example; FIG. 2 illustrates additional aspects of the example electronic device of FIG. 1 according to one example; 3 illustrates another example electronic device utilizing an access control identification code to control access to a peripheral device, according to one example; 4A-4D show circuit diagrams of example logic circuit systems disposed in respective access controllers according to some examples; 5 is a flowchart of an example method for controlling access to peripheral devices in an electronic device using access control identification codes stored in an access control register; 6 is a flowchart of an example method for controlling access to peripheral devices in an electronic device using a first example access control identification code scheme; 7 is a flowchart of an example method for controlling access to peripheral devices in an electronic device using a second example access control identification code scheme; 8 is a flowchart of an example method for controlling access to peripherals in an electronic device for both privileged mode operations and user mode operations, according to one example; and Figure 9 is a flowchart of an example method for controlling access to peripheral devices using task-related bit masks.

應理解,在多個不同圖中出現之任何所說明元件的元件符號在多個圖中具有相同含義,且在任何特定圖之上下文中對任何所說明元件之本文中提及或論述亦適用於各其他圖(若存在),其中展示相同所說明元件。It will be understood that the reference symbols of any illustrated element appearing in multiple different figures have the same meaning across the multiple figures, and that any reference or discussion herein to any illustrated element in the context of any particular figure also applies. Each other drawing, if any, shows the same illustrated elements.

100:電子裝置 100: Electronic devices

102:交易主機 102:Trading host

104,104a,104b,104c...104n:周邊設備 104,104a,104b,104c...104n: Peripheral equipment

106,106a,106b,106c...106n:存取控制器 106,106a,106b,106c...106n: Access controller

107:記憶體 107:Memory

108:邏輯電路系統 108: Logic circuit system

110:存取控制暫存器 110: Access control register

112,112a,112b,112c...112n:存取控制識別碼 112,112a,112b,112c...112n: access control identification code

114:通信鏈路 114: Communication link

116:外部主機 116:External host

120:操作模式信號 120: Operation mode signal

Claims (22)

一種電子裝置,其包含: 一交易主機; 一第一周邊設備; 一第二周邊設備; 一第一存取控制器,其連接至該第一周邊設備; 一第二存取控制器,其連接至該第二周邊設備; 一存取控制暫存器,其儲存用於該第一周邊設備之一第一存取控制識別碼及用於該第二周邊設備之一第二存取控制識別碼; 其中,該第一存取控制器用以: 接收由該交易主機存取該第一周邊設備之一存取請求; 至少基於用於該第一周邊設備之該第一存取控制識別碼而進行對該第一周邊設備之一存取判定;且 基於該存取判定允許或者防止該交易主機存取該第一周邊設備。 An electronic device containing: a trading host; a first peripheral device; a second peripheral device; a first access controller connected to the first peripheral device; a second access controller connected to the second peripheral device; an access control register that stores a first access control identification code for the first peripheral device and a second access control identification code for the second peripheral device; Wherein, the first access controller is used for: Receive an access request from the transaction host to access the first peripheral device; making an access determination to the first peripheral device based at least on the first access control identification code for the first peripheral device; and The transaction host is allowed or prevented from accessing the first peripheral device based on the access determination. 如請求項1之電子裝置,其中,該交易主機包含一處理器或者一直接記憶體存取(DMA)引擎。The electronic device of claim 1, wherein the transaction host includes a processor or a direct memory access (DMA) engine. 如請求項1之電子裝置,其中,該交易主機包含一橋接器,該橋接器用以自與該電子裝置分離之一外部主機接收請求以存取該第一周邊設備。The electronic device of claim 1, wherein the transaction host includes a bridge, the bridge is used to receive a request from an external host separate from the electronic device to access the first peripheral device. 如請求項1之電子裝置,其中,該第一存取控制識別碼包括一或多個第一存取控制位元,且該第二存取控制識別碼包括一或多個第二第一存取控制位元。The electronic device of claim 1, wherein the first access control identification code includes one or more first access control bits, and the second access control identification code includes one or more second first memory bits. Get the control bit. 如請求項1之電子裝置,其包含可由該交易主機執行之韌體,用以基於該交易主機之一操作模式而程式化該第一存取控制識別碼及該第二存取控制識別碼之至少一者。As claimed in claim 1, the electronic device includes firmware executable by the transaction host for programming the first access control identification code and the second access control identification code based on an operating mode of the transaction host. At least one. 如請求項1之電子裝置,其包含可由該交易主機執行之韌體,用以:在(a)允許由該交易主機存取該各別周邊設備之一存取允許設定與(b)防止由該交易主機存取該各別周邊設備之一存取防止設定之間程式化用於該第一周邊設備之該第一存取控制識別碼及用於該第二周邊設備之該第二存取控制識別碼的至少一者。The electronic device of claim 1, comprising firmware executable by the transaction host for: (a) allowing access by the transaction host to an access permission setting of the respective peripheral device and (b) preventing access by the transaction host to the respective peripheral device; The first access control identifier for the first peripheral device and the second access control identifier for the second peripheral device are programmed between the transaction host's access to the respective peripheral devices. At least one of the control identifiers. 如請求項1之電子裝置,其包含可由該交易主機執行之韌體,用以程式化該第一存取控制識別碼及該第二存取控制識別碼,包括: 對於該交易主機之一特權模式操作,用以將該第一存取控制識別碼及該第二存取控制識別碼兩者程式化為一存取允許設定以允許由該交易主機存取該第一周邊設備及該第二周邊設備兩者; 對於用以進行與該第一周邊設備相關的操作之該交易主機之一第一使用者模式操作,用以將該第一存取控制識別碼程式化為該存取允許設定以允許存取該第一周邊設備,且用以將該第二存取控制識別碼程式化為一存取防止設定以防止存取該第二周邊設備;及 對於用以進行與該第二周邊設備相關的操作之該交易主機之一第二使用者模式操作,用以將該第一存取控制識別碼程式化為該存取防止設定以防止存取該第一周邊設備,且用以將該第二存取控制識別碼程式化為一存取允許設定以允許存取該第二周邊設備。 For example, the electronic device of claim 1 includes firmware executable by the transaction host for programming the first access control identification code and the second access control identification code, including: For a privileged mode operation of the transaction host, the first access control identifier and the second access control identifier are programmed into an access permission setting to allow the transaction host to access the third access control identifier. Both a peripheral device and the second peripheral device; For a first user mode operation of the transaction host for performing operations related to the first peripheral device, program the first access control identifier to the access permission setting to allow access to the a first peripheral device to program the second access control identification code into an access prevention setting to prevent access to the second peripheral device; and For a second user mode operation of the transaction host for performing operations related to the second peripheral device, the first access control identifier is programmed into the access prevention setting to prevent access to the The first peripheral device is used to program the second access control identification code into an access permission setting to allow access to the second peripheral device. 如請求項1之電子裝置,其中,該存取控制器用以至少基於(a)用於該第一周邊設備之該第一存取控制識別碼及(b)指示該交易主機之一特權模式或者該交易主機之一使用者模式的一操作模式信號而進行對該第一周邊設備之一存取判定。The electronic device of claim 1, wherein the access controller is configured to at least be based on (a) the first access control identification code for the first peripheral device and (b) instructing a privileged mode of the transaction host or An operation mode signal of a user mode of the transaction host is used to determine access to the first peripheral device. 如請求項1之電子裝置,其中,用於該第一周邊設備之該第一存取控制識別碼及用於該第二周邊設備之該第二存取控制識別碼分別指示以下任一者: (a)一受限存取設定,其用以允許僅在該交易主機之一特權模式中存取該各別周邊設備,或者 (b)一開放存取設定,其用以允許在該交易主機之該特權模式及該交易主機之一使用者模式兩者中存取該各別周邊設備。 The electronic device of claim 1, wherein the first access control identification code for the first peripheral device and the second access control identification code for the second peripheral device respectively indicate any of the following: (a) a restricted access setting that allows access to the respective peripheral device only in a privileged mode of the transaction host, or (b) An open access setting for allowing access to the respective peripheral device in both the privileged mode of the transaction host and the user mode of the transaction host. 如請求項9之電子裝置,其包含可由該交易主機執行之韌體,用以在該受限存取設定與該開放存取設定之間動態地程式化該第一存取控制識別碼及該第二存取控制識別碼之至少一者。As claimed in claim 9, the electronic device includes firmware executable by the transaction host for dynamically programming the first access control identifier and the first access control identifier between the restricted access setting and the open access setting. At least one of the second access control identification codes. 如請求項9之電子裝置,其中,該存取控制器用以進行該存取判定為: 若用於該第一周邊設備之該第一存取控制識別碼指示該開放存取設定且該操作模式信號指示該交易主機之該特權模式,則判定允許存取該第一周邊設備; 若用於該第一周邊設備之該第一存取控制識別碼指示該開放存取設定且該操作模式信號指示該交易主機之該使用者模式,則判定允許存取該第一周邊設備; 若用於該第一周邊設備之該第一存取控制識別碼指示該受限存取設定且該操作模式信號指示該交易主機之該特權模式,則判定允許存取該第一周邊設備;且 若用於該第一周邊設備之該第一存取控制識別碼指示該受限存取設定且該操作模式信號指示該交易主機之該使用者模式,則判定防止存取該第一周邊設備。 The electronic device of claim 9, wherein the access controller is used to perform the access determination: If the first access control identification code for the first peripheral device indicates the open access setting and the operating mode signal indicates the privileged mode of the transaction host, determining that access to the first peripheral device is allowed; If the first access control identification code for the first peripheral device indicates the open access setting and the operating mode signal indicates the user mode of the transaction host, it is determined that access to the first peripheral device is allowed; If the first access control identification code for the first peripheral device indicates the restricted access setting and the operating mode signal indicates the privileged mode of the transaction host, it is determined that access to the first peripheral device is allowed; and If the first access control identification code for the first peripheral device indicates the restricted access setting and the operating mode signal indicates the user mode of the transaction host, it is determined that access to the first peripheral device is prevented. 如請求項1之電子裝置,其中, 該交易主機可選擇性地在一特權模式及一使用者模式中操作;且 該第一存取控制識別碼及該第二存取控制識別碼中之至少一者僅在該交易主機之該特權模式中為可程式化的。 The electronic device of claim 1, wherein, The trading host can selectively operate in a privileged mode and a user mode; and At least one of the first access control identifier and the second access control identifier is programmable only in the privileged mode of the transaction host. 如請求項1之電子裝置,其包含一額外交易主機; 其中,該第一存取控制識別碼及該第二存取控制識別碼與該交易主機相聯結; 其中,該存取控制暫存器儲存用於該第一周邊設備且與該額外交易主機相聯結之一第三存取控制識別碼,及用於該第二周邊設備且與該額外交易主機相聯結之一第四存取控制識別碼; 其中,該存取控制器用以: 接收由該額外交易主機存取該第一周邊設備之一額外存取請求; 基於(a)識別該額外交易主機之一存取請求識別碼、(b)該第三存取控制識別碼而進行對該第一周邊設備之一額外存取判定;且 基於該額外存取判定允許或者防止由該額外交易主機存取該第一周邊設備。 For example, the electronic device of claim 1 includes an additional transaction host; Wherein, the first access control identification code and the second access control identification code are associated with the transaction host; Wherein, the access control register stores a third access control identification code for the first peripheral device and associated with the additional transaction host, and a third access control identification code for the second peripheral device associated with the additional transaction host. The fourth access control identification code of the link; Among them, the access controller is used to: Receive an additional access request from the additional transaction host to access the first peripheral device; Making an additional access determination to the first peripheral device based on (a) identifying the access request identification code of the additional transaction host and (b) the third access control identification code; and Access to the first peripheral device by the additional transaction host is allowed or prevented based on the additional access determination. 一種方法,其包含: 在包括一交易主機、一第一周邊設備、一第二周邊設備及一存取控制暫存器之一電子裝置中,將(a)用於該第一周邊設備之一第一存取控制識別碼及(b)用於該第二周邊設備之一第二存取控制識別碼儲存於該存取控制暫存器中; 藉由與該第一周邊設備相聯結之一第一存取控制器接收由該交易主機存取該第一周邊設備之一請求; 由該第一存取控制器至少基於用於該第一周邊設備之該第一存取控制識別碼而進行允許或者防止存取該第一周邊設備之一存取判定;及 基於該存取判定允許或者防止存取該第一周邊設備。 A method that contains: In an electronic device including a transaction host, a first peripheral device, a second peripheral device and an access control register, (a) a first access control identification of the first peripheral device is used code and (b) a second access control identification code for the second peripheral device is stored in the access control register; receiving a request from the transaction host to access the first peripheral device by a first access controller associated with the first peripheral device; An access decision is made by the first access controller to allow or prevent access to the first peripheral device based at least on the first access control identification code for the first peripheral device; and Access to the first peripheral device is allowed or prevented based on the access determination. 如請求項14之方法,其包含由該交易主機執行韌體,用以基於該交易主機之一操作模式而程式化該第一存取控制識別碼及該第二存取控制識別碼之至少一者。The method of claim 14, including executing firmware by the transaction host to program at least one of the first access control identifier and the second access control identifier based on an operating mode of the transaction host. By. 如請求項14之方法,其包含由該交易主機執行韌體,用以在(a)允許由該交易主機存取該各別周邊設備之一存取允許設定與(b)防止由該交易主機存取該各別周邊設備之一存取防止設定之間動態地程式化用於該第一周邊設備之該第一存取控制識別碼及用於該第二周邊設備之該第二存取控制識別碼的至少一者。The method of claim 14, comprising executing firmware by the transaction host to (a) allow access to the respective peripheral device by the transaction host and (b) prevent access by the transaction host to an access permission setting The first access control identifier for the first peripheral device and the second access control for the second peripheral device are dynamically programmed between access prevention settings for the respective peripheral devices At least one of the identification codes. 如請求項14之方法,其包含由該交易主機執行韌體,用以程式化該第一存取控制識別碼及該第二存取控制識別碼,包括: 對於該交易主機之一特權模式操作,分別將該第一存取控制識別碼及該第二存取控制識別碼兩者設定為允許由該交易主機存取該第一周邊設備及該第二周邊設備兩者之一存取允許設定; 對於用於進行與該第一周邊設備相關的操作之該交易主機之一第一使用者模式操作,將該第一存取控制識別碼設定為該存取允許設定,且將該第二存取控制識別碼設定為防止存取該第二周邊設備之一存取防止設定;及 對於用於進行與該第二周邊設備相關的操作之該交易主機之一第二使用者模式操作,將該第一存取控制識別碼設定為該存取防止設定,且將該第二存取控制識別碼設定為一存取允許設定。 The method of claim 14 includes executing firmware by the transaction host to program the first access control identification code and the second access control identification code, including: For a privileged mode operation of the transaction host, the first access control identification code and the second access control identification code are respectively set to allow the transaction host to access the first peripheral device and the second peripheral device. Either device access permission settings; For a first user mode operation of the transaction host for performing operations related to the first peripheral device, the first access control identification code is set to the access permission setting, and the second access control identification code is set to the access permission setting. The control identifier is set to an access prevention setting that prevents access to the second peripheral device; and For a second user mode operation of the transaction host for performing operations related to the second peripheral device, the first access control identification code is set to the access prevention setting, and the second access control identification code is set to the access prevention setting. The control ID is set to an access permission setting. 如請求項14之方法,其包含由該第一存取控制器進行該存取判定,用以至少基於(a)用於該第一周邊設備之該第一存取控制識別碼及(b)指示該交易主機之一特權模式或者該交易主機之一使用者模式的一操作模式信號而允許或者防止存取該第一周邊設備。The method of claim 14, including performing the access determination by the first access controller based on at least (a) the first access control identification code for the first peripheral device and (b) An operating mode signal indicating a privileged mode of the transaction host or a user mode of the transaction host allows or prevents access to the first peripheral device. 如請求項14之方法,其中,用於該第一周邊設備之該第一存取控制識別碼及用於該第二周邊設備之該第二存取控制識別碼分別指示以下任一者: (a)一受限存取設定,其防止在該交易主機之該使用者模式中存取該各別周邊設備,或者 (b)一開放存取設定,其允許在該交易主機之該特權模式及該交易主機之該使用者模式兩者中存取該各別周邊設備。 The method of claim 14, wherein the first access control identification code for the first peripheral device and the second access control identification code for the second peripheral device respectively indicate any of the following: (a) a restricted access setting that prevents access to the respective peripheral device in the user mode of the transaction host, or (b) An open access setting that allows access to the respective peripheral device in both the privileged mode of the transaction host and the user mode of the transaction host. 如請求項19之方法,其中,進行該存取判定以允許或者防止存取該第一周邊設備包含: 若用於該第一周邊設備之周邊設備特定存取控制識別碼指示該開放存取設定且該操作模式信號指示該交易主機之該特權模式,則允許存取該第一周邊設備; 若用於該第一周邊設備之該第一存取控制識別碼指示該開放存取設定且該操作模式信號指示該交易主機之該使用者模式,則允許存取該第一周邊設備; 若用於該第一周邊設備之該第一存取控制識別碼指示該受限存取設定且該操作模式信號指示該交易主機之該特權模式,則允許存取該第一周邊設備;及 若用於該第一周邊設備之該第一存取控制識別碼指示該受限存取設定且該操作模式信號指示該交易主機之該使用者模式,則防止存取該第一周邊設備。 The method of claim 19, wherein performing the access determination to allow or prevent access to the first peripheral device includes: Allow access to the first peripheral device if the peripheral device-specific access control identification code for the first peripheral device indicates the open access setting and the operating mode signal indicates the privileged mode of the transaction host; If the first access control identification code for the first peripheral device indicates the open access setting and the operating mode signal indicates the user mode of the transaction host, allowing access to the first peripheral device; If the first access control identification code for the first peripheral device indicates the restricted access setting and the operating mode signal indicates the privileged mode of the transaction host, then allowing access to the first peripheral device; and If the first access control identification code for the first peripheral device indicates the restricted access setting and the operating mode signal indicates the user mode of the transaction host, access to the first peripheral device is prevented. 一種方法,其包含: 在包括一交易主機、一第一周邊設備、一第二周邊設備及一存取控制暫存器之一電子裝置中,將用於該第一周邊設備之一第一存取控制識別碼及用於該第二周邊設備之一第二存取控制識別碼儲存於該存取控制暫存器中; 該交易主機設定該第一存取控制識別碼及該第二存取控制識別碼以允許分別存取該第一周邊設備及該第二周邊設備; 該交易主機在一第一時間進行一特權模式操作; 該交易主機: 設定該第一存取控制識別碼以允許由該交易主機存取該第一周邊設備;且 設定該第二存取控制識別碼以防止由該交易主機存取該第二周邊設備;及 該交易主機在一第二時間進行與該第一周邊設備相關的一使用者模式操作。 A method that contains: In an electronic device including a transaction host, a first peripheral device, a second peripheral device and an access control register, a first access control identification code and a username for the first peripheral device are used. A second access control identification code in the second peripheral device is stored in the access control register; The transaction host sets the first access control identification code and the second access control identification code to allow access to the first peripheral device and the second peripheral device respectively; The trading host performs a privileged mode operation at a first time; This trading host: setting the first access control identification code to allow access to the first peripheral device by the transaction host; and setting the second access control identification code to prevent access to the second peripheral device by the transaction host; and The transaction host performs a user mode operation related to the first peripheral device at a second time. 如請求項21之方法,其包含: 該交易主機: 設定該第一存取控制識別碼以防止由該交易主機存取該第一周邊設備;且 設定該第二存取控制識別碼以允許由該交易主機存取該第二周邊設備;及 該交易主機在一第三時間進行與該第二周邊設備相關的一使用者模式操作。 For example, the method of request item 21 includes: This trading host: setting the first access control identification code to prevent access to the first peripheral device by the transaction host; and setting the second access control identification code to allow access to the second peripheral device by the transaction host; and The transaction host performs a user mode operation related to the second peripheral device at a third time.
TW111150292A 2022-01-03 2022-12-28 Electronic device including access control identifiers for controlling access to peripherals TW202334827A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263295962P 2022-01-03 2022-01-03
US63/295,962 2022-01-03
US18/070,884 2022-11-29
US18/070,884 US20230214507A1 (en) 2022-01-03 2022-11-29 Electronic device including access control identifiers for controlling access to peripherals

Publications (1)

Publication Number Publication Date
TW202334827A true TW202334827A (en) 2023-09-01

Family

ID=85172904

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111150292A TW202334827A (en) 2022-01-03 2022-12-28 Electronic device including access control identifiers for controlling access to peripherals

Country Status (2)

Country Link
TW (1) TW202334827A (en)
WO (1) WO2023129462A1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277972B2 (en) * 2002-03-08 2007-10-02 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor
US7434264B2 (en) * 2003-03-07 2008-10-07 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor

Also Published As

Publication number Publication date
WO2023129462A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
US10565132B2 (en) Dynamic configuration and peripheral access in a processor
EP2587376B1 (en) Systems and methods for semaphore-based protection of shared system resources
US20030110306A1 (en) Method and system for use of a field programmable gate array (FPGA) cell for controlling access to on-chip functions of a system on a chip (SOC) integrated circuit
US11675526B2 (en) Memory-access control
US11698995B2 (en) Peripheral access on a secure-aware bus system
JP2016516228A (en) Access method and circuit device under control of slave unit in system on chip
US11226908B2 (en) Securing transactions involving protected memory regions having different permission levels
US20090070510A1 (en) Processor selection for an interrupt based on willingness to accept the interrupt and on priority
US11366940B2 (en) Secure-aware bus system
US11537762B2 (en) Secure peripheral interconnect
US20230237185A1 (en) Peripheral access control using bitmasks indicating access settings for peripherals
EP3918499A1 (en) Method and configurable hardware module for monitoring a hardware-application
US20210243257A1 (en) Service request interrupt router for virtual interrupt service providers
US11416421B2 (en) Context-based protection system
TW202334827A (en) Electronic device including access control identifiers for controlling access to peripherals
TW202334828A (en) Peripheral access control using bitmasks indicating access settings for peripherals
CN107533443B (en) Providing multiple roots in a semiconductor device
US20230214507A1 (en) Electronic device including access control identifiers for controlling access to peripherals
CN117716367A (en) Peripheral access control using bitmasks indicating access settings for peripheral devices
JP2024536673A (en) Peripheral access control using a bitmask indicating peripheral access settings
US8209448B2 (en) Data processing apparatus and method of protecting a peripheral device in data processing apparatus
US20180307629A1 (en) Command source verification
WO2022204897A1 (en) Flash memory access method and apparatus