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 PDF

Info

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
Application number
CN200610127505A
Other languages
Chinese (zh)
Other versions
CN101140549A (en
Inventor
陈拥兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN200610127505A priority Critical patent/CN101140549B/en
Publication of CN101140549A publication Critical patent/CN101140549A/en
Application granted granted Critical
Publication of CN101140549B publication Critical patent/CN101140549B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

The reporting, issue and internal memory control communication means of core processor and micro engine
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.
CN200610127505A 2006-09-07 2006-09-07 Kernel processor and reporting, send down of micro- engines and EMS memory controlling communication method Expired - Fee Related CN101140549B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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
US9218203B2 (en) Packet scheduling in a multiprocessor system using inter-core switchover policy
CN106030538B (en) System and method for split I/O execution support through compiler and OS
CN108647104B (en) Request processing method, server and computer readable storage medium
US20070074214A1 (en) Event processing method in a computer system
US10778815B2 (en) Methods and systems for parsing and executing instructions to retrieve data using autonomous memory
CN105183698B (en) A kind of control processing system and method based on multi-core DSP
US8051234B2 (en) Multiprocessor system
US20100088703A1 (en) Multi-core system with central transaction control
CN108023829B (en) Message processing method and device, storage medium and electronic equipment
US20060150023A1 (en) Debugging apparatus
CN106034120B (en) method and system for multi-process access to trusted application
US8364877B2 (en) Implementing gang interrupts
CN111338769B (en) Data processing method, device and computer readable storage medium
CN105528261A (en) Method and system for intelligently outputting debugging information for embedded 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
CN109951532B (en) DPDK-based automatic flow model conversion device
CN116389372A (en) Analysis method and device of network traffic, electronic equipment and storage medium
CN100576175C (en) The parallel executing method and the system that are used for a plurality of kernels
CN105812327A (en) Combination high performance multifunctional communication method and system thereof
CN111258937B (en) Transmission method and system of ring type linked list DMA
JP2008102847A (en) Multithread program processing method and unit
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
CN101197782B (en) Control method and system for network appliance based on multi-core processor

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