CN101140549B - Kernel processor and reporting, send down of micro- engines and EMS memory controlling communication method - Google Patents
Kernel processor and reporting, send down of micro- engines and EMS memory controlling communication method Download PDFInfo
- Publication number
- CN101140549B CN101140549B CN200610127505A CN200610127505A CN101140549B CN 101140549 B CN101140549 B CN 101140549B CN 200610127505 A CN200610127505 A CN 200610127505A CN 200610127505 A CN200610127505 A CN 200610127505A CN 101140549 B CN101140549 B CN 101140549B
- Authority
- CN
- China
- Prior art keywords
- micro engine
- core processor
- micro
- packet
- engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 title abstract description 41
- 238000012545 processing Methods 0.000 claims description 45
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 20
- 230000006870 function Effects 0.000 abstract description 15
- 239000002699 waste material Substances 0.000 abstract description 2
- 230000008859 change Effects 0.000 description 7
- 230000006872 improvement Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
Abstract
The invention discloses communication methods of submission, spreading and memory control for kernel processors and micro-engines. The invention aims at the problems, in prior arts, of both wasting resources of network processors, and influence process capacity. The invented submission method comprises: When a micro-engine submits data packages of a kernel processor, the micro-engine will sends interruption signals into the kernel processor, and the kernel processor will receive the data packages according to the interruption signals; The invented spreading method comprises: When a kernel processor spreads data package into a micro-engine, the kernel processor will sends signal volumes to the micro-engine, and the micro-engine will receive the data package according to the signal volume; The invented memory control method comprises: When a kernel processor changes process functions of a micro-engine, the kernel processor will send signal volumes to the micro-engine, and the micro-engine will acquire the process functions according to the signal volume. The invention can both avoid waste of resources because of circulation tests, and improve process performances of network processors.
Description
Technical field
The present invention relates to the network processing unit application technology, particularly core processor and micro engine reports, issues and internal memory control communication means.
Background technology
Along with development of Communication Technique, the application of network processing unit more and more widely.Network processing unit is the device that is used for finishing network data message forwarding capability, is made up of a plurality of independently micro engines and a core processor usually.A plurality of independently micro engines are used for finishing reception, the processing of network packet, storage and forwarding; And core processor is mainly used to forwarding-table item is configured, and the forwarding process of micro engine is controlled, and some specific control message is handled.In actual applications, receive message by micro engine from network interface usually, judge, if the message of transmitting according to some configurations of core processor, is transmitted, if the message that needs core processor to handle then send packet core processor to handle.If core processor has the message that need send to interface, then also be to send micro engine with packet, carry out actual transmission by micro engine.In addition, core processor is also controlled the treatment scheme of micro engine, and as opening or close some specific treatment scheme, these controls normally adopt the method for shared drive to realize.
Therefore, how with between the micro engine core processor communicates by letter, and promptly the micro engine message how to obtain to need to send from core processor sends, and the control information meeting that how to obtain core processor directly has influence on the treatment effeciency of micro engine.
As shown in Figure 1, present technology implementation method comprises following three processes:
Send the core processor packet on the micro engine: micro engine receives packet from interface, distributes BD (bag description unit), analyzing and processing; Discovery is the packet that need send core processor to handle, and the BD of packet is write the circle queue of communicating by letter with core processor; Core processor starting scan task, the scanning micro engine that does not stop and the circle queue of communicating by letter of core processor if find that packet is arranged, are then read processing from circle queue, if do not have, then skip, and scan next time.
Send the packet of micro engine under the core processor: core processor sends packet to interface if desired, then use the structure of the description bag identical that packet is put in order with micro engine, the BD of packet is write the circle queue of communicating by letter with micro engine, micro engine ceaselessly scans the circle queue that core processor is communicated by letter with micro engine with an independent thread, if finding has packet, then micro engine is read processing from circle queue, if do not have, then skip, scan next time.
Core processor is controlled the function of micro engine: the function treatment flow process of core processor control micro engine is the method by shared drive, certain piece internal memory that core processor and micro engine are shared has defined the function treatment flow process of concrete micro engine in this internal memory.Change certain processing capacity of micro engine if desired, revise the value of the shared drive be used to represent the micro engine treatment scheme.Micro engine all reads this shared drive when handling each packet, according to the value of shared drive, judge the treatment scheme of this packet.
In the top method, in the communication of packet, no matter be core processor or micro engine, the circle queue of the scanning communication that all needs not stop. and in the use of reality, need send the message that send under core processor processing and the core processor is seldom. so just the resource to network processing unit has caused waste, influenced the processing power of network processing unit. in addition, the shared drive that core processor is used to the control of the functional sequence of micro engine, micro engine all needs to read when each packet, micro engine is to expend very much the processing power of micro engine to the read-write of external memory. and, so the change frequency relative data bag of these flow process controls is low-down., this method has also had a strong impact on the processing power of network processing unit.
Summary of the invention
For defective and the deficiency that overcomes prior art, the object of the present invention is to provide a kind of wasting of resources that can reduce network processing unit, and improve the core processor of its processing power and reporting, issue and internal memory control communication means of micro engine.
In order to achieve the above object, a kind of core processor of the present invention and micro engine report communication means, may further comprise the steps:
(A1) when micro engine reported the core processor packet, micro engine sent look-at-me to core processor;
(A2) after core processor is received this look-at-me, this packet is received.
As a further improvement on the present invention, described step (A1) is specially:
(A11) micro engine is received packet from interface, and micro engine judges whether this packet needs to deliver to core processor, if judged result is for being then to enter step (A12); If judged result is for denying then step end;
(A12) micro engine is put into packet and corresponding bag description unit in the circle queue between micro engine and core processor, and sends look-at-me to core processor.
As a further improvement on the present invention, described step (A2) is specially:
(A21) after core processor is received this look-at-me, read data packet and bag description unit in the circle queue between micro engine and core processor.
Issue communication means between a kind of core processor of the present invention and micro engine, may further comprise the steps:
(B1) when core processor when micro engine issues packet, core processor sends semaphore to micro engine;
(B2) after micro engine is received this semaphore, this packet is received.
As a further improvement on the present invention, described step (B1) is specially:
(B11) when core processor need be when micro engine issues packet, core processor sends to packet and corresponding bag description unit in the circle queue between micro engine and core processor;
(B12) core processor is handled the micro engine thread that send packet down and is sent semaphore in micro engine.
As a further improvement on the present invention, described step (B2) is specially:
(B21) after processing send the micro engine thread of packet to receive semaphore down in the micro engine, read data packet and bag description unit from the circle queue between micro engine and core processor.
Internal memory control communication means between a kind of core processor of the present invention and micro engine may further comprise the steps:
(C1) when core processor changed the processing capacity of micro engine, core processor sent semaphore to micro engine;
(C2) after micro engine is received this semaphore, obtain this processing capacity.
As a further improvement on the present invention, described step (C1) is specially:
(C11) when core processor changes the processing capacity of micro engine, core processor is revised the shared drive of sharing with micro engine that is used to represent the micro engine treatment scheme;
(C12) core processor is used to read the micro engine thread transmission semaphore of micro engine treatment scheme internal memory in micro engine.
As a further improvement on the present invention, described step (C2) is specially:
(C21) the micro engine thread detects core processor and whether has sent semaphore, if having, then enters step (C22); If no, then step finishes;
(C22) the micro engine thread is from being used for representing that the shared drive of micro engine treatment scheme reads amended new value, and newly value sends in the pre-assigned LSU local store unit.
After adopting above-mentioned method, owing to report, issue at needs and during internal memory control, inform core processor or micro engine by sending semaphore or look-at-me, compared with prior art, the scanning circle queue that does not need core processor or micro engine not to stop, avoid must circulatory monitoring for the information that obtains the opposite end process, also avoided because the caused wasting of resources of cycle detection, thereby improved the handling property of network processing unit.
Description of drawings
Fig. 1 is the communication scheme of core processor and micro engine in the prior art;
Fig. 2 is the communication scheme of core processor among the present invention and micro engine.
Embodiment
Communication means in the network processing unit between core processor and the micro engine, the interruption between employing micro engine and the core processor and the mechanism of semaphore.Micro engine, sends simultaneously and interrupts to core processor when sending data message last, and core processor is handled after receiving interruption accordingly; Core processor under deliver newspaper literary composition or when needing change micro engine processing capacity flow process, send the micro engine thread of semaphore simultaneously to correspondence, the micro engine thread is handled after receiving semaphore accordingly.Method comprises send the core processor data message on the micro engine, send the micro engine data message under the core processor, and core processor is by shared drive control micro engine function treatment flow process.
Send the processing procedure of core processor data message to be on the micro engine: micro engine receives packet from interface, distributes BD, analyzing and processing; Discovery is the packet that need send core processor to handle, and the BD of packet is write the circle queue of communicating by letter with core processor, sends a look-at-me to core processor simultaneously.Core processor removes to read the circle queue of micro engine and core processor after receiving look-at-me, therefrom read data packet is handled, up to all packets in the circle queue are all handled.
Send micro engine processing data packets process to be under the core processor: micro engine does not distribute the literary composition of delivering newspaper under the thread process nuclear heart processor separately, but send data message under one section code execution of a thread arrangement of certain engine is handled, and processing procedure is to be triggered by semaphore by core processor.Be that core processor has the packet that need send down, then use the structure of the description bag identical that packet is put in order with micro engine, the BD of packet is write the circle queue of communicating by letter with micro engine, simultaneously by sending the thread of packet under the method notifier processes that sends semaphore.After handling the thread that send packet down and receiving semaphore, read the circle queue of communicating by letter between core processor and the micro engine, therefrom the sense data bag sends processing, up to all packets all are sent completely.
Core processor control micro engine function treatment flow process is: the semaphore that micro engine arranges a thread monitoring core processor to send, if the semaphore that does not have core processor to send is then directly skipped, carry out normal processing data packets.If monitor the semaphore that core processor sends, then read the shared drive that is used for the control function treatment scheme, in the LSU local store unit (the engine internal thread is shared this storage unit) with result's preservation, use for other thread.Core processor upgrades shared drive when the function treatment flow process of needs change micro engine, simultaneously to the thread transmission semaphore that is used for reading specially control function treatment scheme shared drive.
Below in conjunction with accompanying drawing the specific embodiment of the present invention is described in further detail.
The present invention adopts the interruption between micro engine and the core processor and the mechanism of semaphore, send when handling and interrupt or semaphore in the needs opposite end, handle after receiving interruption or semaphore accordingly the opposite end, comprise the processing of sending the core processor data message on the micro engine, send the micro engine processing data packets under the core processor, core processor control micro engine function treatment.
As shown in Figure 2, send the processing procedure of core processor data message to comprise on the micro engine:
2a, micro engine is received packet from interface;
2b, judgement is the packet that send core processor on needing, and packet and corresponding BD are put in the circle queue of micro engine and core processor;
2c, micro engine sends look-at-me to core processor;
2d, core processor start the packet receiving flow process after receiving look-at-me, read data packet from circle queue is handled, and up to all packets in the circle queue are read, finish to receive and handle.
In the method for the present invention, send micro engine processing data packets process to comprise under the core processor:
2e, core processor have the packet that need send to micro engine, and data packet group is woven, and packet and corresponding BD are write in core processor and the circle queue that micro engine is communicated by letter;
2f, core processor comprise processing and send the micro engine thread of packet to send semaphore down in micro engine.
2g, comprise handle the micro engine thread that send packet down and receive semaphore after, read data packet from circle queue.
2h, micro engine sends to interface with packet.
Wherein, handle and send the micro engine thread of packet not distribute separately down, but identical with other thread, the civilian treatment scheme of delivering newspaper under just increasing by thread number.When not delivering newspaper literary composition down, its treatment scheme is with other thread, when just under having, delivering newspaper literary composition, and the literary composition of delivering newspaper under handling.
In the method for the present invention, the processing procedure of core processor control micro engine function treatment flow process comprises:
2i, core processor need change the function treatment flow process of micro engine, according to the function of revising, revise the shared drive of sharing with micro engine that is used to represent the micro engine treatment scheme;
2j, core processor comprise the micro engine thread that reads micro engine treatment scheme internal memory and send semaphore in micro engine;
2k after related linear program is received semaphore in the micro engine, from being used for representing that the shared drive of micro engine treatment scheme reads new value, and will newly be worth in the LSU local store unit that is put into prior distribution, carry out subsequent treatment.Other processing threads directly reads the control function value from LSU local store unit.
Here the thread that be used to handle read control micro engine treatment scheme internal memory is that each engine is specified one, rather than all threads all remove rdma read in the micro engine.Reading control micro engine treatment scheme internal memory operation uses thread number to separate.
Should be noted that; the inventive method for those of ordinary skills; can change or replace according to technical scheme of the present invention and beneficial effect thereof, and without prejudice to the present invention's spirit and purport change or replace within the protection domain that all should be covered by claims of the present invention.
Claims (7)
1. report communication means between core processor and micro engine, it is characterized in that, may further comprise the steps:
(A1) when micro engine reports the core processor packet, micro engine is handled the reported data bag in core processor thread sends look-at-me;
(A2) after the thread of processing reported data bag is received this look-at-me in the core processor, this packet is received; And the thread of described processing reported data bag is carried out the processing of common thread in the described core processor when not receiving look-at-me.
2. according to the communication means that reports between described core processor of claim 1 and micro engine, it is characterized in that described step (A1) is specially:
(A11) micro engine is received packet from interface, and micro engine judges whether this packet needs to deliver to core processor, if judged result is for being then to enter step (A12); If judged result is for denying then step end;
(A12) micro engine is put into packet and corresponding bag description unit in the circle queue between micro engine and core processor, and sends look-at-me to core processor.
3. according to the communication means that reports between described core processor of claim 2 and micro engine, it is characterized in that described step (A2) is specially:
(A21) after core processor is received this look-at-me, read data packet and bag description unit in the circle queue between micro engine and core processor.
4. issue communication means between core processor and micro engine, it is characterized in that, may further comprise the steps:
(B1) when core processor when micro engine issues packet, core processor is handled the micro engine thread that send down packet and is sent semaphore in micro engine;
(B2) after processing send the micro engine thread of packet to receive this semaphore down in the micro engine, this packet is received; And the micro engine thread that send packet under the described processing is carried out the processing of common thread in the described micro engine when not receiving semaphore.
5. according to the communication means that issues between described core processor of claim 4 and micro engine, it is characterized in that described step (B1) is specially:
(B11) when core processor need be when micro engine issues packet, core processor sends to packet and corresponding bag description unit in the circle queue between micro engine and core processor;
(B12) core processor is handled the micro engine thread that send packet down and is sent semaphore in micro engine.
6. according to the communication means that issues between described core processor of claim 5 and micro engine, it is characterized in that described step (B2) is specially:
(B21) after processing send the micro engine thread of packet to receive semaphore down in the micro engine, read data packet and bag description unit from the circle queue between micro engine and core processor.
7. the control of the internal memory between core processor and micro engine communication means is characterized in that, may further comprise the steps:
(C1) when core processor changes the processing capacity of micro engine, revise the shared drive of sharing with micro engine that is used to represent the micro engine treatment scheme, and in micro engine, be used to read the micro engine thread transmission semaphore of micro engine treatment scheme internal memory;
(C2) after the micro engine thread that is used to read micro engine treatment scheme internal memory in the micro engine is received this semaphore, from being used for representing that the shared drive of micro engine treatment scheme reads amended new value, and described new value sent in the pre-assigned LSU local store unit, read amended new value by each thread in the described micro engine from described LSU local store unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610127505A CN101140549B (en) | 2006-09-07 | 2006-09-07 | Kernel processor and reporting, send down of micro- engines and EMS memory controlling communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610127505A CN101140549B (en) | 2006-09-07 | 2006-09-07 | Kernel processor and reporting, send down of micro- engines and EMS memory controlling communication method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101140549A CN101140549A (en) | 2008-03-12 |
CN101140549B true CN101140549B (en) | 2010-05-12 |
Family
ID=39192505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610127505A Expired - Fee Related CN101140549B (en) | 2006-09-07 | 2006-09-07 | Kernel processor and reporting, send down of micro- engines and EMS memory controlling communication method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101140549B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161110B (en) * | 2016-08-31 | 2019-05-17 | 东软集团股份有限公司 | Data processing method and system in a kind of network equipment |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112802A1 (en) * | 2001-11-16 | 2003-06-19 | Nec Corporation | Packet transfer method and apparatus |
US20040064580A1 (en) * | 2002-09-30 | 2004-04-01 | Lee Booi Lim | Thread efficiency for a multi-threaded network processor |
US20040078479A1 (en) * | 2002-09-30 | 2004-04-22 | Chee Keong Sim | Traffic generator using a network processor |
CN1545216A (en) * | 2003-11-20 | 2004-11-10 | 中兴通讯股份有限公司 | Communication method between kernel processor and micro-engine in network processor |
US20050025140A1 (en) * | 2001-11-13 | 2005-02-03 | Koen Deforche | Overcoming access latency inefficiency in memories for packet switched networks |
US20060176893A1 (en) * | 2005-02-07 | 2006-08-10 | Yoon-Jin Ku | Method of dynamic queue management for stable packet forwarding and network processor element therefor |
-
2006
- 2006-09-07 CN CN200610127505A patent/CN101140549B/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050025140A1 (en) * | 2001-11-13 | 2005-02-03 | Koen Deforche | Overcoming access latency inefficiency in memories for packet switched networks |
US20030112802A1 (en) * | 2001-11-16 | 2003-06-19 | Nec Corporation | Packet transfer method and apparatus |
US20040064580A1 (en) * | 2002-09-30 | 2004-04-01 | Lee Booi Lim | Thread efficiency for a multi-threaded network processor |
US20040078479A1 (en) * | 2002-09-30 | 2004-04-22 | Chee Keong Sim | Traffic generator using a network processor |
CN1545216A (en) * | 2003-11-20 | 2004-11-10 | 中兴通讯股份有限公司 | Communication method between kernel processor and micro-engine in network processor |
US20060176893A1 (en) * | 2005-02-07 | 2006-08-10 | Yoon-Jin Ku | Method of dynamic queue management for stable packet forwarding and network processor element therefor |
Also Published As
Publication number | Publication date |
---|---|
CN101140549A (en) | 2008-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2701074B1 (en) | Method, device, and system for performing scheduling in multi-processor core system | |
CN106030538B (en) | System and method for split I/O execution support through compiler and OS | |
CN109688069A (en) | A kind of method, apparatus, equipment and storage medium handling network flow | |
US20160378570A1 (en) | Techniques for Offloading Computational Tasks between Nodes | |
CN108647104B (en) | Request processing method, server and computer readable storage medium | |
US20070074214A1 (en) | Event processing method in a computer system | |
CN105183698B (en) | A kind of control processing system and method based on multi-core DSP | |
CN108023829B (en) | Message processing method and device, storage medium and electronic equipment | |
CN106034120B (en) | method and system for multi-process access to trusted application | |
JP6449287B2 (en) | Autonomous memory method and system | |
US20110145462A1 (en) | Implementing Gang Interrupts | |
CN116389372A (en) | Analysis method and device of network traffic, electronic equipment and storage medium | |
CN109951532B (en) | DPDK-based automatic flow model conversion device | |
CN101140549B (en) | Kernel processor and reporting, send down of micro- engines and EMS memory controlling communication method | |
CN102117261B (en) | Communication method between inner processors of chip | |
US20060150023A1 (en) | Debugging apparatus | |
CN103823712A (en) | Data flow processing method and device for multi-CPU virtual machine system | |
US8909873B2 (en) | Traffic control method and apparatus of multiprocessor system | |
CN110780999A (en) | System and method for scheduling multi-core CPU | |
CN110618962A (en) | Multi-core network concurrent access method, system and medium of FT-M6678 chip | |
CN105812327A (en) | Combination high performance multifunctional communication method and system thereof | |
JP2008102847A (en) | Multithread program processing method and unit | |
CN111258937B (en) | Transmission method and system of ring type linked list DMA | |
CN101197782B (en) | Control method and system for network appliance based on multi-core processor | |
WO2024222649A1 (en) | Thread control method and apparatus, and communication device and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100512 Termination date: 20150907 |
|
EXPY | Termination of patent right or utility model |