TW201717019A - 用於加速列表比較操作的方法及裝置 - Google Patents

用於加速列表比較操作的方法及裝置 Download PDF

Info

Publication number
TW201717019A
TW201717019A TW105124515A TW105124515A TW201717019A TW 201717019 A TW201717019 A TW 201717019A TW 105124515 A TW105124515 A TW 105124515A TW 105124515 A TW105124515 A TW 105124515A TW 201717019 A TW201717019 A TW 201717019A
Authority
TW
Taiwan
Prior art keywords
list
memory
data
items
data items
Prior art date
Application number
TW105124515A
Other languages
English (en)
Other versions
TWI705327B (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 PCT/US2016/044358 external-priority patent/WO2017023659A1/en
Application filed by 馬維爾國際貿易有限公司 filed Critical 馬維爾國際貿易有限公司
Publication of TW201717019A publication Critical patent/TW201717019A/zh
Application granted granted Critical
Publication of TWI705327B publication Critical patent/TWI705327B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)
  • Small-Scale Networks (AREA)
  • Container, Conveyance, Adherence, Positioning, Of Wafer (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

比較電路系統包括:第一記憶體,其儲存資料項之清單;第二記憶體,其儲存資料項中最近最多使用者之清單;第一比較器,其將輸入資料項首先與第二記憶體中之資料項中之若干資料項比較,且僅在第二記憶體中缺少命中的情況下,將輸入資料項與第一記憶體中之資料項比較。至少一個另外比較器可與第一比較器並行操作以將輸入資料項與至少一個另外第二記憶體中之相應資料項比較,且在至少一個另外第二記憶體中缺少相應命中的情況下,將輸入資料項與第一記憶體中之相應資料項比較。一種資料通訊系統可包括併入有此種比較電路系統之一解碼器。

Description

用於加速清單比較操作之方法及設備 【相關申請案之交互參照】
本申請案主張申請於2015年8月3日之美國臨時專利申請案第62/200,436號;第62/200,462號;第62/200,444號;以及第62/200,452號的權益,且亦主張申請於2015年9月14日之美國臨時專利申請案第62/218,296號的權益以及申請於2016年7月27日之美國非臨時專利申請案第15/220,898號;第15/220,916號;第15/220,546號;第15/220,923號;以及15/220,684號的權益,該等申請案中之每一者據此以引用其相應全文之方式併入本文。
本揭示內容之標的之實行方案大體上係關於用於進行清單比較之設備及方法。詳言之,本揭示內容之標的之實行方案係關於用於藉由首先檢查最近「命中數」來加速清單比較之設備及方法。
本文提供之背景描述係用於大體上呈現本揭示內容之背景情形之目的。本案發明人之工作(在此背景部分中描述該工作的程度上)以及本說明書中可能不會在其他情況下定性為申請日前之先前技術的諸多態樣皆既不明確亦不隱含地被承認為針對本揭示內容之先前技術。
在執行軟體、韌體或微碼(後文統稱為「軟體」或「指令」)之電子系統中,在例如處理器、微處理器或微控制器(後文統稱為「處理器」)控制之下,經常有必要將資料項與資料項之清單比較。可在每一系統時鐘週期期間進行的比較之數量有限,且隨正在比較的項之大小的增大而減小。若所有必要比較無法在單一時鐘週期內進行,則系統效能可受損。
根據本揭示內容之標的之實行方案的比較電路系統包括:第一記憶體,其儲存資料項之清單;第二記憶體,其儲存資料項中最近最多 (most-recently)使用者之清單;第一比較器,其將輸入資料項首先與第二記憶體中之資料項中之若干資料項比較,且僅在第二記憶體中缺少命中的情況下,將輸入資料項與第一記憶體中之資料項比較。
在此種比較電路系統之一個實行方案中,第一記憶體及第二記憶體可為單獨的記憶體裝置。在此種比較電路系統之另一實行方案中,第一記憶體及第二記憶體可為單一記憶體裝置之單獨部分。
在此種比較電路系統中,第一比較器可為處理器,該處理器之操作經計時,第二記憶體經大小設定以含有資料項之一數量,且資料項之該數量為處理器於單個時鐘週期中對其進行操作之資料項之數量。
在此種比較電路系統之一個實行方案中,在第二記憶體中缺少命中的情況下,第一比較器將輸入資料項與第一記憶體中之所有資料項比較。在此種比較電路系統之另一實行方案中,第一比較器將輸入資料項僅與在第一記憶體中又不在第二記憶體中之資料項比較。在該其他實行方案中,第一記憶體包括用於儲存在第一記憶體中之每一相應資料項的相應標記,以指示相應資料項是否亦儲存在第二記憶體中。
此種比較電路系統可進一步包括至少一個另外比較器。至少一個另外比較器中之每一相應比較器與第一比較器並行操作以將輸入資料項與第二記憶體中之至少一個另外者中的相應資料項比較,且在第二記憶體中之至少一個另外者中缺少相應命中的情況下,將輸入資料項與第一記憶體中之相應資料項比較。
根據本揭示內容之標的之實行方案的資料通訊系統包括複數個積體電路裝置及互連複數個積體電路裝置之資料匯流排。複數個積體電路裝置中之積體電路裝置中之至少一者包括解碼電路系統,且解碼電路系統包括:第一記憶體,其儲存資料項之清單;第二記憶體,其儲存最近最多使用資料項之清單,第一比較器,其將輸入資料項首先與第二記憶體中之資料項比較,且僅在第二記憶體中缺少命中的情況下,將輸入資料項與第一記憶體中之資料項比較。
在此種資料通訊系統中,第一比較器可包括處理器,該處理器之操作經計時,第二記憶體經大小設定以含有資料項之一數量,且資料 項之該數量為處理器於單個時鐘週期中對其進行操作之資料項之數量。
一種根據本揭示內容之標的之實行方案的用於資料通訊系統中之比較方法,該比較方法包括:儲存資料項之清單;儲存資料項中最近最多使用者之清單;將輸入資料項首先與資料項中最近最多使用者之清單比較;以及,僅在資料項中最近最多使用者之清單中缺少命中的情況下,將輸入資料項與資料項之清單比較,以用於解碼用於該資料通訊系統中之輸入資料項。
在此種比較方法之一個實行方案中,儲存資料項之清單及儲存資料項中最近最多使用者之清單包括:將資料項之清單儲存在第一記憶體裝置中;以及將資料項中最近最多使用者之清單儲存在第二記憶體裝置中。在此種比較方法之另一實行方案中,儲存資料項之清單及儲存資料項中最近最多使用者之清單包括:將資料項之清單及資料項中最近最多使用者之清單儲存在單一記憶體裝置之第一部分及第二部分中。
在此種比較方法中,比較可經計時,且資料項中最近最多使用者之清單中的資料項之數量為於單個時鐘週期中進行比較之資料項之數量。
在此種比較方法之一個實行方案中,將輸入資料項與資料項之清單比較包括:將輸入資料項與資料項之清單中之所有資料項比較。在此種比較方法之另一實行方案中,將輸入資料項與資料項之清單比較包括:將輸入資料項僅與在資料項之清單中又不在資料項中最近最多使用者之清單中的資料項比較。在此種比較方法之該其他實行方案中,儲存資料項之清單包括:儲存用於資料項之清單中之每一相應資料項的相應標記,以指示相應資料項是否亦在資料項中最近最多使用者之清單中。
於此種比較方法中,將輸入資料項首先與資料項中最近最多使用者之清單比較可包括:以並行方式將輸入資料項與資料項中最近最多使用者之清單中的相應資料項比較,且在資料項中最近最多使用者之清單中缺少相應命中的情況下,與資料項之清單的相應資料項比較。
100‧‧‧處理器佈置
101‧‧‧處理器
102‧‧‧比較器
103‧‧‧記憶體/暫存器
104‧‧‧記憶體
105‧‧‧記憶體
106‧‧‧多工器
本揭示內容之其他特徵,其性質及各種優點,將在結合隨附 圖式考慮以下詳細描述之後而顯而易見,其中相同元件符號在全文中指代相同部件,且在隨附圖式中:圖1展示根據本揭示內容之標的之實行方案的用於進行比較操作之處理器佈置;以及圖2為例示根據本揭示內容之標的之比較方法的實行方案之流程圖。
如上所論述,在於處理器之控制下執行指令之電子系統中,經常有必要將資料項與資料項之清單比較。可在每一系統時鐘週期期間進行的比較之數量有限,且隨正在比較的項之大小的增大而減小。若所有必要比較無法在單一時鐘週期內進行,則系統效能可受損。
例如,在具有多個可尋址組件之系統中,位址之表可提供來將每一邏輯位址與特定實體組件相關聯。為與所欲組件通訊,藉由找出表中之位址來將位址解碼,進而識別相關聯組件。為在表中找出位址,將位址與表格中之每一條目比較直至找出匹配為止。若比較表中之每一條目所需的時間及需要比較的條目之數量足夠大,則比較將不在單一時鐘週期內完成。雖然針對任何給定比較方案而言,每一比較所需之時間量可隨特定比較方案而變化,即使該比較方案為最快可利用比較方案,但將存在可在單一時鐘週期中進行之比較的最大數量。
根據本揭示內容之標的之實行方案,將傳入資料項與其他資料項之清單比較可藉由審慎選擇比較之順序而加速。因此,不同於以其他資料項出現在清單中之順序來將傳入資料項與其他資料項之清單比較,選擇了不同順序。詳言之,其他資料項之清單中的諸多項中最近最多使用者之單獨清單可得以維持,且傳入資料項在與其他資料項之較大清單比較(必要時)之前與單獨清單中之最近最多使用項比較。
在最近最多使用項之單獨清單中保持的項之數量可經選擇以將使傳入資料項與最近最多使用項之單獨清單比較所需的時間保持在一個時鐘週期內。至少每一比較所需之大致時間長度將為已知的,且最近最多使用項之單獨清單中的項之數量可相應地限定來將彼等項之比較保持在 一個時鐘週期內。該數量可隨每一資料項之大小而變化。例如,若傳入資料項為如在以上實例中之位址,且每一位址為八個位元長,則可在一個時鐘週期內比較的項之數量可大於每一位址為三十二個位元長的情況下之數量。
若在最近最多使用資料項之清單中找出傳入資料項,則比較將在一個時鐘週期內發生,且系統操作可繼續而無不當延遲。若在最近最多使用項之清單中未找出傳入資料項,則系統將必須將傳入資料項與資料項之完全清單比較。此舉可在與完全清單之比較可耗費多於一個時鐘週期且甚至若干時鐘週期的範圍內減慢系統操作,且除此之外,將存在藉由傳入資料項與最近最多使用資料項之清單的不成功比較所消耗的時鐘週期。一種加速此較長比較時間的方式為將最近最多使用資料項之清單中的彼等項自該比較排除,因為傳入資料項將已與彼等項不成功地比較。
本文論述之資料項可為許多不同類型,包括但不限於裝置位址、上下文ID、儲存位置或指標、檔案名等。將理解,本文中對將傳入資料項與資料項之清單的比較之任何論述指代將傳入資料項與相同類型之資料項之清單比較。因此,例如,傳入裝置位址將與裝置位址之清單比較而非與任何其他類型之資料項比較。
僅作為一個實例,根據本揭示內容之實施例的比較方法及設備可與模組化晶片「跳躍匯流排」架構一起使用,該架構包括仿佛作為單一晶片來通訊的多個積體電路晶片,如美國專利申請公開案2015/0169495所描述,該美國專利申請公開案據此以全文引用方式併入本文。此種系統可在高時鐘速率(例如,1GHz)下操作,其轉化為允許僅少量比較操作的極短時鐘週期(1ns)。
在此種系統中,晶片中可稱為「主晶片(master)」之至少一些將包括處理器(如上定義)以管理晶片內及晶片間協定。每一晶片將經分配一位址,且「主」晶片上之處理器將如本文所述進行比較以解碼晶片位址。處理器亦可例如進行比較以自基於ID的上下文查找來解碼上下文ID。
本揭示內容之標的之實行方案保持對「最後命中」(亦即,最近最多使用的)資訊之追蹤以產生二階比較簡圖(schema)。N個最後命中項 可稱為:LH[1]、LH[2]、...LH[N]
N可為1、2、4或更大,但N應經選擇以使得N個項可在目標時鐘速率之單一週期中獲比較。
對於將要比較之任何新傳入資料項,新傳入資料項可在一個時鐘週期中與LH[1:N]比較。若自彼等比較無命中存在,則新傳入資料項可在接下來的若干時鐘週期內與所有項或剩餘項比較。然後,顯而易見,若新傳入資料項匹配「最後命中」(亦即,最近最多使用的)資料項中之任何者,則比較耗費一個時鐘週期,但若新傳入資料項不匹配「最後命中」資料項中之任何者,則比較需要多個週期。
在位址解碼實例中,可能存在解碼至32個可能的目標區之32個可能的位址:
新位址==目的地位址0->解碼至目標區0
新位址==目的地位址1->解碼至目標區1
新位址==目的地位址31->解碼至目標區31
對於高速設計而言,32個位址之完整比較無法在一個週期中進行,該高速設計諸如具有1GHz時鐘之系統。
然而,可如下應用本揭示內容之標的之實行方案:
可保持對四個最近解碼命中(亦即,N=4)之追蹤:
最後命中1==目的地位址10->解碼至目標區10
最後命中2==目的地位址5->解碼至目標區5
最後命中3==目的地位址11->解碼至目標區11
最後命中4==目的地位址30->解碼至目標區30
對於下一新傳入位址,可進行四個比較:
新位址==最後命中1,目的地位址10->解碼至目標區10
新位址==最後命中2,目的位址5->解碼至目標區5
新位址==最後命中3,目的位址11->解碼至目標區11
新位址==最後命中4,目的位址30->解碼至目標區30
四個比較器邏輯可在極高速下運行並在單一週期中完成。若不存在匹配,則可進行將耗費多個週期的針對所有32個位址(或剩餘28個位址)之完整比較。
在基於ID的上下文查找實例中,可能存在解碼至32個可能的上下文之64個可能的上下文ID(使用8位元ID):
新位址==用於上下文0之ID->查找上下文0
新位址==用於上下文1之ID->查找上下文1
新位址==用於上下文31之ID->查找上下文31
對於高速設計而言,64個上下文ID之完整比較無法在一個週期中進行,該高速設計諸如具有1GHz時鐘之系統。
然而,可如下應用本揭示內容之標的之實行方案:
可對四個最近上下文命中(亦即,N=4)保持追蹤:
最後命中1==用於上下文10之ID->查找上下文10
最後命中2==用於上下文5之ID->查找上下文5
最後命中3==用於上下文11之ID->查找上下文11
最後命中4==用於上下文30之ID->查找上下文30
對於下一新傳入位址,可進行四個比較:
新位址==最後命中1,用於上下文10之ID->查找上下文10
新位址==最後命中2,用於上下文5之ID->查找上下文5
新位址==最後命中3,用於上下文11之ID->查找上下文11
新位址==最後命中4,用於上下文30之ID->查找上下文30
四個比較器邏輯可在極高速下運行並在單一週期中完成。若不存在匹配,則可進行將耗費多個週期的針對所有64個上下文ID(或剩餘60個上下文ID)之完整比較。
圖1展示根據本揭示內容之標的之實行方案的用於進行比較操作之處理器佈置100,無論是否包括於如上所併入美國專利申請公開案2015/0169495中所述的模組化晶片「跳躍匯流排」架構中。處理器101控制比較器102中之比較操作。比較器102可為單獨的硬體比較器或可實施為處理器101中之軟體。複數個比較器102可經提供(比較器102之另外示例以虛線展示)以允許將以並行方式進行的多個比較,該等多個比較增大可在單一時鐘週期內進行的比較之數量。
將要比較之傳入資料項在比較器102之一個輸入端上儲存在記憶體或暫存器103中。傳入資料項將要相對於其比較之完整資料項集合係儲存在記憶體104中。其他記憶體105儲存最近期「命中」(亦即最近最多使用資料項),其中首先針對該等最近期命中檢查傳入資料項。比較器102之第二輸入端上的多工器106在處理器101之控制下選擇記憶體104中之完整資料項集合或記憶體105中之最近最多使用資料項。記憶體104可提供用於在114處標記每一儲存項以便若記憶體項為記憶體105中最近最多使用資料項中之一者,則該記憶體項可視需要經標記以在將記憶體103中之傳入資料項相對於記憶體104中之完整資料項集合比較時予以跳過,以避免重複比較,且進而使相對於完整資料項集合之比較加速。
儘管比較器102經展示為單獨電路元件,但藉由每一比較器102表示之比較功能可事實上藉由處理器101中之軟體進行。類似地,雖然記憶體103、104、105經展示為單獨記憶體,但該等記憶體可實施為單一記憶體裝置內之單獨部分(其中之每一者可為鄰接或非鄰接的)。
圖2展示根據本揭示內容之標的之比較方法200之實行方案的流程圖。在如所例示之方法200中,正在比較的資料項為位址,但此僅為實例且資料項可為需要相對於資料項之清單加以比較之任何種類的資料項。
方法200於201處開始,其中初始化位址之完全清單及最近最多使用位址之清單。在配置系統時判定位址之完全清單且辨別所有可尋址系統組件。最近最多使用位址之清單之初始化通常涉及清除清單。
在202處,系統等待將要輸入之位址。一旦位址已輸入,則 在203處判定在最近最多使用位址之清單中是否存在任何更多的未經比較之最近最多使用位址。在啟動時,最近最多使用位址之清單將為空,因此應答將為「否」。將在204處檢查位址之完整清單以判定是否在位址之完整清單中標記最近最多使用位址。此外,在啟動時,應答將為「否」,且因此輸入位址將在205處與位址之完整清單中之位址比較。
在206處,將判定該比較是否為命中。若否,則205處之比較將繼續直至在206處判定為命中為止(在此實行方案中,不存在如無效輸入位址的情況,因此最終將存在命中;在其中可能有無效位址的實行方案中,可實施進一步檢查來判定所有位址是否已經檢查而無命中)。若在206處,205處之比較經判定為命中,則在207處,最近最多使用位址之清單藉由將當前位址添加為最近最多使用位址而更新;最近最少(least-recently)使用位址遭丟棄。替代地,為防止經常使用的單一位址在最近最多使用位址之清單中佔據所有空間,若位址已存在於最近最多使用位址之清單中,則將不再次添加該位址,以便其他位址可保留在最近最多使用位址之清單中。在此種情況下,最近最多使用位址之清單將必須含有對使用最近最多使用位址之清單中每一位址之新近程度如何之指示,以便當新位址添加至最近最多使用位址之清單時,已知已在最近最多使用位址之清單中的哪一位址為最近最少使用位址且可予以刪除。在最近最多使用位址之清單的更新之後,輸入位址在208處解碼,且系統返回至202以等待另一輸入位址。
若在204處判定在完整清單中標記最近最多使用位址,則在209處,輸入位址與位址之完整清單中之未標記位址比較。若存在命中,如在210處所判定的,則在207處,最近最多使用位址之清單藉由將當前位址添加為最近最多使用位址而更新,且最近最少使用位址遭丟棄,且流程如上繼續。
在除啟動之外的時間,在203處,在最近最多使用位址之清單中將存在至少一個最近最多使用位址。在211處,輸入位址將與最近最多使用位址之清單中之最近最多使用位址比較,且若存在如在212處所判定之命中,意謂輸入位址匹配最近最多使用位址之清單中的正在比較之最近最多使用位址,則輸入位址將在208處解碼,且系統返回至202以等待另一輸 入位址。
若在212處無命中,意謂輸入位址不匹配最近最多使用位址之清單中正在比較之最近最多使用位址,則系統返回至203以審視在最近最多使用位址之清單中是否存在尚未經比較之任何更多最近最多使用位址。若存在,則系統返回至211以將輸入位址與最近最多使用位址之清單中的下一最近最多使用位址比較,且流程如前所述繼續。若在203處,在最近最多使用位址之清單中不再存在最近最多使用位址,則系統繼續至204,且流程如前所述繼續。
因此可見,已提供用於加速清單比較操作之方法及裝置。
將理解,前述僅為本發明之原理之說明,且可藉由除出於說明而非限制之目的呈現的所述實施例之外的方式實踐本發明,且本發明僅由以下申請專利範圍限制。
100‧‧‧處理器佈置
101‧‧‧處理器
102‧‧‧比較器
103‧‧‧記憶體/暫存器
104‧‧‧記憶體
105‧‧‧記憶體
106‧‧‧多工器

Claims (20)

  1. 一種比較電路系統,其包含:一第一記憶體,其儲存資料項之一清單;一第二記憶體,其儲存該等資料項中最近最多使用者之一清單;一第一比較器,其將一輸入資料項首先與該第二記憶體中之該等資料項中之若干資料項比較,且僅在該第二記憶體中缺少一命中的情況下,將該輸入資料項與該第一記憶體中之該等資料項比較。
  2. 如申請專利範圍第1項之比較電路系統,其中該第一記憶體及該第二記憶體為單獨的記憶體裝置。
  3. 如申請專利範圍第1項之比較電路系統,其中該第一記憶體及該第二記憶體為一單一記憶體裝置之單獨部分。
  4. 如申請專利範圍第1項之比較電路系統,其中:該第一比較器包含一處理器;該處理器之操作經計時;該第二記憶體經大小設定以含有該等資料項之一數量;且該等資料項之該數量為該處理器於一單一時鐘週期中對其進行操作之該等資料項之一數量。
  5. 如申請專利範圍第1項之比較電路系統,其中,在該第二記憶體中缺少一命中的情況下,該第一比較器將該輸入資料項與該第一記憶體中之所有該等資料項比較。
  6. 如申請專利範圍第1項之比較電路系統,其中,在該第二記憶體中缺少一命中的情況下,該第一比較器將該輸入資料項僅與在該第一記憶體中又不在該第二記憶體中之該等資料項比較。
  7. 如申請專利範圍第6項之比較電路系統,其中該第一記憶體包括用於儲存在該第一記憶體中之每一相應資料項的一相應標記,以指示該相應資料項是否亦儲存在該第二記憶體中。
  8. 如申請專利範圍第1項之比較電路系統,其進一步包含至少一個另外比較器;其中:該至少一個另外比較器中之每一相應比較器與該第一比較器並行操作以將該輸入資料項與該第二記憶體中之至少一個另外者中的相應資料 項比較,且在該第二記憶體中之該至少一個另外者中缺少一相應命中的情況下,將該輸入資料項與該第一記憶體中之相應資料項比較。
  9. 一種資料通訊系統,其包含:複數個積體電路裝置;以及一資料匯流排,其互連該等複數個積體電路裝置,其中:該等複數個積體電路裝置中之該等積體電路裝置中之至少一者包括解碼電路系統,該解碼電路系統包含:一第一記憶體,其儲存資料項之一清單;一第二記憶體,其儲存最近最多使用資料項之一清單;一第一比較器,其將一輸入資料項首先與該第二記憶體中之資料項比較,且僅在該第二記憶體中缺少一命中的情況下,將該輸入資料項與該第一記憶體中之資料項比較。
  10. 如申請專利範圍第9項之資料通訊系統,其中該輸入資料項為將要解碼之一位址。
  11. 如申請專利範圍第9項之資料通訊系統,其中該輸入資料項為將要解碼之一上下文ID。
  12. 如申請專利範圍第9項之資料通訊系統,其中:該第一比較器包含一處理器;該處理器之操作經計時;該第二記憶體經大小設定以含有資料項之一數量;且資料項之該數量為該處理器於一單一時鐘週期中對其進行操作之資料項之一數量。
  13. 一種用於一資料通訊系統中之比較方法,該比較方法包含:儲存資料項之一清單;儲存該等資料項中最近最多使用者之一清單;將一輸入資料項首先與該等資料項中最近最多使用者之該清單比較,且僅在該等資料項中最近最多使用者之該清單中缺少一命中的情況下,將該輸入資料項與該等資料項之該清單比較,以用於解碼用於該資料通訊系統中之該輸入資料項。
  14. 如申請專利範圍第13項之比較方法,其中該儲存資料項之該清單及該 儲存該等資料項中該等最近最多使用者之該清單包含:將資料項之該清單儲存在一第一記憶體裝置中;以及將該等資料項中該等最近最多使用者之該清單儲存在一第二記憶體裝置中。
  15. 如申請專利範圍第13項之比較方法,其中該儲存該等資料項之該清單及該儲存該等資料項中該等最近最多使用者之該清單包含:將資料項之該清單及該等資料項中該等最近最多使用者之該清單儲存在一單一記憶體裝置之第一部分及第二部分中。
  16. 如申請專利範圍第13項之比較方法,其中:該比較可經計時;且該等資料項中該等最近最多使用者之該清單中的資料項之數量為於一單一時鐘週期中對其進行該比較之資料項之一數量。
  17. 如申請專利範圍第13項之比較方法,其中該將該輸入資料項與該等資料項之該清單比較包含:將該輸入資料項與該等資料項之該清單中之所有資料項比較。
  18. 如申請專利範圍第13項之比較方法,其中該將該輸入資料項與該等資料項之該清單比較包含:將該輸入資料項僅與在該等資料項之該清單中又不在該等資料項中該等最近最多使用者之該清單中之資料項比較。
  19. 如申請專利範圍第18項之比較方法,其中該儲存資料項之一清單包含:儲存用於該等資料項之該清單中之每一相應資料項的一相應標記,以指示該相應資料項是否亦在該等資料項中該等最近最多使用者之該清單中。
  20. 如申請專利範圍第13項之比較方法,其中:該將一輸入資料項首先與該等資料項中最近最多使用者之清單比較包含:以並行方式將該輸入資料項與該等資料項中最近最多使用者之該清單中的相應資料項比較,且在該等資料項中最近最多使用者之該清單中缺少一相應命中的情況下,與該等資料項之清單的相應資料項比較。
TW105124515A 2015-08-03 2016-08-02 用於加速清單比較操作之方法及設備 TWI705327B (zh)

Applications Claiming Priority (30)

Application Number Priority Date Filing Date Title
US201562200436P 2015-08-03 2015-08-03
US201562200462P 2015-08-03 2015-08-03
US201562200444P 2015-08-03 2015-08-03
US201562200452P 2015-08-03 2015-08-03
US62/200,452 2015-08-03
US62/200,462 2015-08-03
US62/200,436 2015-08-03
US62/200,444 2015-08-03
US201562218296P 2015-09-14 2015-09-14
US62/218,296 2015-09-14
US15/220,546 2016-07-27
US15/220,898 US10339077B2 (en) 2015-08-03 2016-07-27 Systems and methods for implementing topology-based identification process in a MoChi environment
US15/220,546 US10318453B2 (en) 2015-08-03 2016-07-27 Systems and methods for transmitting interrupts between nodes
US15/220,916 US10552350B2 (en) 2015-08-03 2016-07-27 Systems and methods for aggregating data packets in a mochi system
US15/220,684 US10198376B2 (en) 2015-08-03 2016-07-27 Methods and apparatus for accelerating list comparison operations
US15/220,916 2016-07-27
US15/220,898 2016-07-27
US15/220,923 US10474597B2 (en) 2015-08-03 2016-07-27 Systems and methods for performing unknown address discovery in a MoChi space
US15/220,684 2016-07-27
US15/220,923 2016-07-27
PCT/US2016/044358 WO2017023659A1 (en) 2015-08-03 2016-07-28 Method and apparatus for a processor with cache and main memory
WOPCT/US16/44425 2016-07-28
PCT/US2016/044428 WO2017023681A1 (en) 2015-08-03 2016-07-28 Systems and methods for aggregating data packets in a mochi system
PCT/US2016/044360 WO2017023661A1 (en) 2015-08-03 2016-07-28 Systems and methods for transmitting interrupts between nodes
PCT/US2016/044431 WO2017023682A1 (en) 2015-08-03 2016-07-28 Systems and methods for performing unknown address discovery in a mochi space
WOPCT/US16/44360 2016-07-28
WOPCT/US16/44428 2016-07-28
WOPCT/US16/44358 2016-07-28
WOPCT/US16/44431 2016-07-28
PCT/US2016/044425 WO2017023678A1 (en) 2015-08-03 2016-07-28 Systems and methods for implementing topoloby-based identification process in a mochi environment

Publications (2)

Publication Number Publication Date
TW201717019A true TW201717019A (zh) 2017-05-16
TWI705327B TWI705327B (zh) 2020-09-21

Family

ID=58052541

Family Applications (5)

Application Number Title Priority Date Filing Date
TW105124513A TWI695268B (zh) 2015-08-03 2016-08-02 用於在節點之間傳輸中斷的系統及方法
TW105124514A TWI703437B (zh) 2015-08-03 2016-08-02 用於在mochi空間中進行未知位址發現之系統及方法
TW105124515A TWI705327B (zh) 2015-08-03 2016-08-02 用於加速清單比較操作之方法及設備
TW105124510A TWI695262B (zh) 2015-08-03 2016-08-02 用於在mochi環境中實現基於拓撲之識別過程的系統及方法
TW105124512A TWI703445B (zh) 2015-08-03 2016-08-02 用於在mochi系統中對資料封包進行聚集之系統及方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
TW105124513A TWI695268B (zh) 2015-08-03 2016-08-02 用於在節點之間傳輸中斷的系統及方法
TW105124514A TWI703437B (zh) 2015-08-03 2016-08-02 用於在mochi空間中進行未知位址發現之系統及方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW105124510A TWI695262B (zh) 2015-08-03 2016-08-02 用於在mochi環境中實現基於拓撲之識別過程的系統及方法
TW105124512A TWI703445B (zh) 2015-08-03 2016-08-02 用於在mochi系統中對資料封包進行聚集之系統及方法

Country Status (2)

Country Link
US (5) US10474597B2 (zh)
TW (5) TWI695268B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506530A (zh) * 2019-01-30 2020-08-07 智原科技股份有限公司 中断管理系统及其管理方法
DE102019208678A1 (de) * 2019-06-14 2020-12-17 Robert Bosch Gmbh Kommunikationsverfahren
CN112131174A (zh) 2019-06-25 2020-12-25 北京百度网讯科技有限公司 支持在多个芯片之间通信的方法、装置、电子设备和计算机存储介质
US20230102614A1 (en) * 2021-09-27 2023-03-30 Qualcomm Incorporated Grouping data packets at a modem

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3329228A1 (de) * 1983-08-12 1985-02-21 Siemens AG, 1000 Berlin und 8000 München Datenuebertragungsverfahren in einem digitalen uebertragungsnetzwerk und vorrichtung zur durchfuehrung des verfahrens
US5179704A (en) 1991-03-13 1993-01-12 Ncr Corporation Method and apparatus for generating disk array interrupt signals
US5412782A (en) * 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5617559A (en) * 1994-08-31 1997-04-01 Motorola Inc. Modular chip select control circuit and method for performing pipelined memory accesses
US5845327A (en) 1995-05-03 1998-12-01 Apple Computer, Inc. Cache coherency where multiple processors may access the same data over independent access paths
KR0156173B1 (ko) * 1995-11-21 1998-11-16 문정환 인터럽트 발생회로
US5815733A (en) * 1996-02-01 1998-09-29 Apple Computer, Inc. System for handling interrupts in a computer system using asic reset input line coupled to set of status circuits for presetting values in the status circuits
US5862366A (en) * 1996-09-12 1999-01-19 Advanced Micro Devices, Inc. System and method for simulating a multiprocessor environment for testing a multiprocessing interrupt controller
EP0920030B1 (en) * 1997-11-26 2005-03-30 Texas Instruments Incorporated Improvements in or relating to computer memories
US6412013B1 (en) * 1998-10-23 2002-06-25 Koninklijke Philips Electronics N.V. System for controlling data output to a network
US6263395B1 (en) * 1999-01-06 2001-07-17 Compaq Computer Corp. System and method for serial interrupt scanning
JP2000332817A (ja) 1999-05-18 2000-11-30 Fujitsu Ltd パケット処理装置
WO2000072533A1 (en) 1999-05-21 2000-11-30 Broadcom Corporation Stacked network switch configuration
US7295552B1 (en) 1999-06-30 2007-11-13 Broadcom Corporation Cluster switching architecture
JP3543698B2 (ja) 1999-09-29 2004-07-14 日本電気株式会社 伝送方法およびネットワーク・システム
US6584550B1 (en) * 1999-11-29 2003-06-24 Apple Computer, Inc. System and method for updating a head entry from read-only to read-write and allowing a list to expand in a cache-coherence sharing list
US6751213B1 (en) * 1999-12-24 2004-06-15 Cypress Semiconductor Corporation Token over ethernet protocol
US7426179B1 (en) 2000-03-17 2008-09-16 Lucent Technologies Inc. Method and apparatus for signaling path restoration information in a mesh network
US6760792B1 (en) 2001-10-15 2004-07-06 Advanced Micro Devices, Inc. Buffer circuit for rotating outstanding transactions
US7024519B2 (en) * 2002-05-06 2006-04-04 Sony Computer Entertainment Inc. Methods and apparatus for controlling hierarchical cache memory
EP1387279B1 (en) * 2002-07-31 2008-05-14 Texas Instruments Inc. Cache coherency in a multi-processor system
KR100678223B1 (ko) 2003-03-13 2007-02-01 삼성전자주식회사 통신시스템의 패킷 전송 장치 및 방법
US7330467B2 (en) 2003-03-26 2008-02-12 Altera Corporation System and method for centralized, intelligent proxy driver for a switch fabric
US7336284B2 (en) 2004-04-08 2008-02-26 Ati Technologies Inc. Two level cache memory architecture
US7362764B2 (en) * 2004-06-08 2008-04-22 Sun Microsystems, Inc. Method and apparatus for verifying service level in a communications network
TWI256591B (en) 2004-08-11 2006-06-11 Benq Corp Method of reducing interrupts
CA2593247A1 (en) * 2005-01-10 2006-11-16 Quartics, Inc. Integrated architecture for the unified processing of visual media
US7788434B2 (en) 2006-12-15 2010-08-31 Microchip Technology Incorporated Interrupt controller handling interrupts with and without coalescing
US8072999B1 (en) 2007-05-08 2011-12-06 Motion Engineering Inc. Method and system for removing and returning nodes in a synchronous network
US8588253B2 (en) 2008-06-26 2013-11-19 Qualcomm Incorporated Methods and apparatuses to reduce context switching during data transmission and reception in a multi-processor device
ES2622572T3 (es) * 2009-08-28 2017-07-06 Telefonaktiebolaget Lm Ericsson (Publ) Multiplexación realzada para una sola entidad RLC
US8725919B1 (en) 2011-06-20 2014-05-13 Netlogic Microsystems, Inc. Device configuration for multiprocessor systems
JP5916355B2 (ja) 2011-11-21 2016-05-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation プログラムの命令を実行する装置および命令をキャッシュするシステム
JP5791529B2 (ja) 2012-01-19 2015-10-07 ルネサスエレクトロニクス株式会社 メモリ制御装置及び制御方法並びに情報処理装置
US9036993B2 (en) * 2012-02-13 2015-05-19 Marvell World Trade Ltd. Method and apparatus for dynamically allocating bandwidth to a client in a passive optical network
US9170971B2 (en) 2012-12-26 2015-10-27 Iii Holdings 2, Llc Fabric discovery for a cluster of nodes
US9959237B2 (en) 2013-12-12 2018-05-01 Marvell World Trade Ltd. Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
EP3080708B1 (en) 2013-12-12 2020-02-05 Marvell World Trade Ltd. Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
US9588893B2 (en) * 2014-11-10 2017-03-07 International Business Machines Corporation Store cache for transactional memory

Also Published As

Publication number Publication date
US10339077B2 (en) 2019-07-02
TWI695262B (zh) 2020-06-01
US20170038996A1 (en) 2017-02-09
US20170041225A1 (en) 2017-02-09
US10318453B2 (en) 2019-06-11
TWI703445B (zh) 2020-09-01
US10552350B2 (en) 2020-02-04
TWI705327B (zh) 2020-09-21
US20170039154A1 (en) 2017-02-09
TW201715402A (zh) 2017-05-01
US10198376B2 (en) 2019-02-05
US10474597B2 (en) 2019-11-12
TWI695268B (zh) 2020-06-01
US20170039149A1 (en) 2017-02-09
TW201706860A (zh) 2017-02-16
US20170039152A1 (en) 2017-02-09
TW201717018A (zh) 2017-05-16
TW201717044A (zh) 2017-05-16
TWI703437B (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
TW201717019A (zh) 用於加速列表比較操作的方法及裝置
US7760530B2 (en) Content addressable memory address resolver
US9917932B2 (en) Sticky and transient markers for a packet parser
JP2005198285A (ja) ハードウエアにおけるipルックアップソリューションを効率的に実現するためにハッシングを使用する装置及び方法
CN107528783B (zh) 利用对前缀长度进行两个搜索阶段的ip路由缓存
US20070283144A1 (en) System and Method for Implementing ACLs Using Standard LPM Engine
US8621169B2 (en) Method for address space layout randomization in execute-in-place code
US20120173844A1 (en) Apparatus and method for determining a cache line in an n-way set associative cache
US11030030B2 (en) Enhanced address space layout randomization
US10038571B2 (en) Method for reading and writing forwarding information base, and network processor
US20060230205A1 (en) Back-off timing mechanism
US9654397B2 (en) Method for looking up data in hash tables and associated network device
TW200525954A (en) Network message processing using inverse pattern matching
TWI242713B (en) Method and apparatus for updating security records in a cache
US8065496B2 (en) Method for updating information used for selecting candidate in LRU control
US20090070507A1 (en) Back-Off Timing Mechanism
CN108768860B (zh) Portal系统报文发送方法及装置
US7428632B2 (en) Branch prediction mechanism using a branch cache memory and an extended pattern cache
CN106330722B (zh) 一种创建路由缓存项的方法、转发报文的方法及装置
CN112637083B (zh) 丢包处理方法、装置、设备及计算机可读存储介质
WO2017023659A1 (en) Method and apparatus for a processor with cache and main memory
US10917345B2 (en) Generating a hash table in accordance with a prefix length
US9361404B2 (en) Offline radix tree compression with key sequence skip
CN107783785A (zh) 一种没有分支预测损失的分支处理方法与系统
US20150160923A1 (en) Random permutation generator and method for generating a random permutation sequence

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees