Multi-core system and reading method
A multi-core system includes a first processor core, a first memory coupled to the first processor core, a first communication IF including a first DMA unit coupled to the first memory, a second processor core, a second memory coupled to the second processor core, a second communication IF including a second DMA unit coupled to the second memory, and an MMU. In a case where page data of a page designated as a read destination by the first processor core is stored in the second memory, the MMU causes the first DMA unit to set a first transmission descriptor based on a page number of the page. The first communication IF transmits a data request including the page number and destination data to the second communication IF according to the first transmission descriptor.
1 . A multi-core system comprising:
a first processor core configured to output a logical address that is a read destination;
a first memory coupled to the first processor core and configured to store a plurality of first transmission descriptors;
a first communication interface including a first direct memory access (DMA) unit coupled to the first memory;
a second processor core;
a second memory coupled to the second processor core;
a second communication interface including a second DMA unit coupled to the second memory; and
a memory management unit (MMU) including an address conversion unit configured to convert the logical address into a physical address and a communication data request unit configured to instruct the first DMA unit to start a DMA transfer,
wherein each of the plurality of first transmission descriptors is arranged in the first memory corresponding to each of a plurality of pages stored in the second memory,
wherein the address conversion unit is configured to transmit a page number included in the logical address to the communication data request unit, when the logical address does not correspond to a physical address in the first memory,
wherein the communication data request unit is configured to cause the first DMA unit to set a first transmission descriptor that corresponds to the page number transmitted from the address conversion unit, among the plurality of first transmission descriptors arranged in the first memory,
wherein the first communication interface is configured to transmit a data request including the page number and destination data to the second communication interface according to the first transmission descriptor set by the first DMA unit,
wherein each of the plurality of first transmission descriptors includes a first portion that refers to the destination data and a second portion that refers to request data stored in the first memory, the request data including the page number,
wherein the data request is generated based on the request data referred to by the second portion and the destination data referred to by the first portion,
wherein the second processor core is configured to transmit notification information to the first processor core when page data of a page corresponding to the page number is written in the second memory, the notification information including the page number and a notification source address identifying the second communication interface, and
wherein the first processor core is configured to update, in response to reception of the notification information, the first portion of the first transmission descriptor corresponding to the page number such that the destination data referred to by the first portion indicates the notification source address.
2 . The multi-core system according to claim 1 , wherein the first processor core includes a processor core for a specific application.
3 . The multi-core system according to claim 1 ,
wherein the second memory is configured to store a plurality of second transmission descriptors,
wherein each of the plurality of second transmission descriptors is arranged in the second memory corresponding to each of the plurality of pages stored in the second memory,
wherein the second DMA unit is configured to read a second transmission descriptor that corresponds to the data request received by the second communication interface, among the plurality of second transmission descriptors arranged in the second memory, and
wherein the second communication interface is configured to transmit transmission data including destination data and the page data to the first communication interface according to the second transmission descriptor read by the second DMA unit.
4 . The multi-core system according to claim 3 , wherein the second processor core is configured to execute a program to:
extract the page number included in the data request received by the second communication interface; and
cause the second DMA unit to set the second transmission descriptor that corresponds to an extracted page number, among the plurality of second transmission descriptors arranged in the second memory.
5 . The multi-core system according to claim 4 ,
wherein the second memory is configured to store the page data, and
wherein the second transmission descriptor set by the second DMA unit includes an address that refers to the destination data and the page data included in the transmission data.
6 . The multi-core system according to claim 1 ,
wherein the first processor core includes a general-purpose processor core, and
wherein the general-purpose processor core is configured to execute a program to generate the plurality of first transmission descriptors corresponding to each of a plurality of pages stored in the second memory, the general-purpose processor core being configured to store the plurality of first transmission descriptors as a transmission descriptor database in the first memory.
7 . A reading method comprising:
outputting, using a first processor core, a logical address that is a read destination;
storing, in a first memory coupled to the first processor core, a plurality of first transmission descriptors such that each of the plurality of first transmission descriptors is arranged in the first memory corresponding to each of a plurality of pages stored in a second memory coupled to a second processor core, the second processor core being different from the first processor core;
converting, using an address conversion unit in a memory management unit (MMU), the logical address into a physical address;
instructing, by a communication data request unit in the MMU, a first direct memory access (DMA) unit coupled to the first memory to start a DMA transfer;
transmitting, using the address conversion unit, a page number included in the logical address to the communication data request unit when the logical address does not correspond to a physical address in the first memory;
causing, the communication data request unit, the first DMA unit to set a first transmission descriptor that corresponds to the page number transmitted from the address conversion unit, among the plurality of first transmission descriptors arranged in the first memory; and
transmitting, by a first communication interface including the first DMA unit, a data request including the page number and destination data to a second communication interface including a second DMA unit coupled to the second memory according to the first transmission descriptor set by the first DMA unit,
wherein each of the plurality of first transmission descriptors includes a first portion that refers to the destination data and a second portion that refers to request data stored in the first memory, the request data including the page number,
wherein the data request is generated based on the request data referred to by the second portion and the destination data referred to by the first portion,
wherein the reading method further comprises:
transmitting, by the second processor core, notification information to the first processor core when page data of a page corresponding to the page number is written in the second memory, the notification information including the page number and a notification source address identifying the second communication interface; and
updating, by the first processor core, in response to reception of the notification information, the first portion of the first transmission descriptor corresponding to the page number such that the destination data referred to by the first portion indicates the notification source address.
8 . The multi-core system according to claim 1 ,
wherein each of the plurality of first transmission descriptors is arranged in a continuous area in the first memory in an order corresponding to a page number, and
wherein data sizes of the plurality of first transmission descriptors are equal to each other.
9 . The multi-core system according to claim 1 ,
wherein the first memory is configured to store the data request, and
wherein the first transmission descriptor set by the first DMA unit includes an address that refers to the destination data and the page number included in the data request.