Multi-processor device, data processing system and peripheral controller sharing method
AssigneeNuvoton Technology Corporation
InventorYung-Chang Huang
Life of this patent
Estimating the term…
Abstract
A multi-processor device comprises more than two processors. The multi-processor device can make the two processors running different operating systems (for example, Linux, real-time operating system (RT OS) or non-operating system (non-OS)) share one peripheral controller by allocating transmit descriptions, receive descriptions, transmit buffers corresponding to the transmit descriptions and receive buffers corresponding to the receive descriptions of the two processors in a shared memory. The peripheral device can process the data associated with the two processors. In one embodiment, the peripheral controller can be an Ethernet controller, and the peripheral device is an Ethernet network card.
Claims8
A multi-processor device, comprising:
- a first processor, electrically connected to a memory;
- a second processor, electrically connected to the first processor and the memory, and configured to communicate with the first processor via a specific transmission interface;
- a system peripheral configuration controller, electrically connected to the first processor, the second processor and a peripheral controller, and configured to allocate the peripheral controller to the first processor or the second processor;
- and
- the peripheral controller, electrically connected to the memory;
- wherein the memory is allocated to a transmit description of the first processor and a transmit buffer corresponding to the transmit description of the first processor, and a transmit description of the second processor and a transmit buffer corresponding to the transmit description of the second processor, and
- wherein when the peripheral controller is allocated to the first processor and the second processor will transmit a data to a peripheral device electrically connected to the peripheral controller, the second processor stores the data in the transmit buffer corresponding to the transmit description of the second processor, and the first processor controls the peripheral controller so that the peripheral device obtains the data in the transmit buffer corresponding to the transmit description of the second processor;
- wherein the first processor is configured to initialize the peripheral controller,
- wherein after the first processor initializes the peripheral controller completely, the second processor queries the first processor for the device identification allocated to the second processor via the specific transmission interface, and
- wherein the second processor is configured to inform the first processor of the addresses of the transmit description and a receive description of the second processor which the memory is allocated to via the specific transmission interface.
A multi-processor device, comprising:
- a first processor, electrically connected to a memory;
- a second processor, electrically connected the first processor and the memory, and configured to communicate with the first processor via a specific transmission interface;
- a system peripheral configuration controller, electrically connected to the first processor, the second processor and a peripheral controller, and configured to allocate the peripheral controller to the first processor or the second processor;
- and
- the peripheral controller, electrically connected to the memory;
- wherein the memory is allocated to a receive description of the first processor and a receive buffer corresponding to the receive description of the first processor, and a receive description of the second processor and a receive buffer corresponding to the receive buffer of the second processor,
- wherein when the peripheral controller is allocated to the first processor and the peripheral controller receives a data via a peripheral device electrically connected to the peripheral controller, the first processor controls the peripheral controller to store the data in the receive buffer corresponding to the receive description of the first processor and/or in the receive buffer corresponding to the receive description of the second processor based on a device identification of the data, and
- wherein the first processor is configured to receive the data in the receive buffer corresponding to the receive description of the first processor, and the second processor is configured to receive the data in the receive buffer corresponding to the receive description of the second processor;
- wherein the first processor is configured to initialize the peripheral controller,
- wherein after the first processor initializes the peripheral controller completely, the second processor queries the first processor for the device identification allocated to the second processor via the specific transmission interface, and
- wherein the second processor is configured to inform the first processor of the addresses of a transmit description and the receive description of the second processor which the memory is allocated to via the specific transmission interface.
A peripheral controller sharing method, which is implemented by a multi-processor device, and the method comprises:
- initializing a peripheral controller of the multi-processor device by a first processor of the multi-processor to allocate a device identification of the first processor and a device identification of a second processor of the multi-processor device;
- querying the first processor for the device identification allocated to the second processor by the second processor via a specific transmission interface after the first processor initializes the peripheral controller completely;
- and
- informing the first processor of addresses of a transmit description and a receive description of the second processor which a memory is allocated to by the second processor via the specific transmission interface.
Dependencies are inferred from the claim text.