TW583547B - Linked-list memory-access control for a concentrator - Google Patents
Linked-list memory-access control for a concentrator Download PDFInfo
- Publication number
- TW583547B TW583547B TW90114725A TW90114725A TW583547B TW 583547 B TW583547 B TW 583547B TW 90114725 A TW90114725 A TW 90114725A TW 90114725 A TW90114725 A TW 90114725A TW 583547 B TW583547 B TW 583547B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory buffer
- pump
- memory
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
- G06F2213/2802—DMA using DMA transfer descriptors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
Abstract
Description
五 、發明說明G)V. Invention Description G)
本^明係在信號處理期 工“勺轉移。…’ _於控制處理機與記憶體 夕:許多信號處理應用中 ^同的貢料產生器 、处理器的能力被配置认坪 ί;::管理控制及在=資=集中器記憶 理機、:向”匕等資料泵浦本身。;與系統記憶體間資訊 齡户1對於特別的數據傳輪形^為應用的特定電路或處 立仏號處理,而來協調使用;;使用每個資料泵浦執行, ’例如V. 90、v. 34,等等。人通信網路間資料的轉移 或更多個資料泵浦的暫存哭了央微處理機可藉由讀取一 。如果該資訊指示資料泵;輪詢每個資料泵浦的狀態 移系統記憶體與需要服務^月民務,中央微處理機將轉 料匯流排上轉移大量的資料貝:栗浦間的資料。如果在資 央處理器的處理能力。目而每資料轉移大體上需要中. 接牽涉到中央微處理機,而中=生資料轉移處理,即直 理能力(即,微處理機頻寬)用於t處理機因其大部份的處 整體以微處理機為 =料轉移的作業,所以對 先前技藝的件夕έ^ Γ 率將有不利的影響。 ,由节吉i4 °午夕糸、、克Q括直接記憶體存取(DMA)控制器 中己憶體存取控制器管理資料的轉移,因而解除 «結^处理機直接管理各種資料泵浦與系、統記憶體間的資 竹 ' 奴尚糸統效能。該中央微處理機從每個嚅要服務 --—-----This ^ Ming system is a "scoop transfer" in the signal processing phase. __ Controlling the processor and the memory: In many signal processing applications, the capabilities of the same tribute generator and processor are configured; ::: Management control and management of data in the concentrator, pumping data such as the "dagger". ; And the system memory between the information age household 1 for the special data transfer wheel ^ for the application-specific circuit or processing 仏 number to coordinate the use ;; use each data pump implementation, 'for example V. 90, v. 34, wait. The transfer of data between human communication networks or the temporary storage of more than one data pump can be read by the central microprocessor. If the information indicates a data pump; poll the status of each data pump. Move the system memory and services required for the month. The central microprocessor transfers a large amount of data on the transfer bus: the data in Yuryu. If the processing power of the central processor. At present, each data transfer generally requires a medium. The central microprocessor is involved, and the medium = raw data transfer processing, that is, the straightforward ability (that is, the microprocessor bandwidth) is used for the t processor because most of its As a whole, the microprocessor is used as the material transfer operation, so it will adversely affect the rate of the previous technology. The transfer of the management data of the memory access controller in the direct memory access (DMA) controller is controlled by Jieji i4 ° midnight, and therefore, the «end processor directly manages various data pumps is lifted. Associated with the system, the memory of the bamboo's slavery system performance. The central microprocessor needs to serve from each -------
第6頁 583547 五、發明說明(2) 一___ 表:Ϊ栗ΐ Ϊ :彳:^ :且將接收的請求按優先順序放入 該表列來轉移資料:二二控直接, 列的-資料栗浦後,該中、::二的—貝料泵浦。當服務完表 控制器轉移資料往/返於表Ύ理機程控直接記憶體存取 每服務完所有資料栗浦的?求中二 繼程控直接記憶體存取控制器。 < 、微處理态相 發明有關於直接記憶體存取* ^ ^ ^ ^ ^ ^ 構’其處理服務一或更多個之鏈結表列位址結 列需服!之資料泵浦產生位址序列 含資料系統5己fe'體緩衝器’該系統記憶體緩衝哭包 貝枓泵浦位址及序列中下一資斜 /芨衝為包 緩衝器指標。由於斧口 _ # 六/ / 糸統記憶體 憶體緩衝哭的:::f 記憶體控制器及系統記 形成祕去位置,而由儲存於系統記憶體緩衝哭之t奸 斤有服務之資料泵浦的位 — :軚 二t服務之資料泵浦,該中央處理哭使直接;結鏈. 制器開私m ^ ' 、处迎σσ便直稷存取記憶體抻 央處理二:結鏈的第一個資料泵浦服務轉移資料,心 移系统;t回其他處理任務。該直接存取記憶體控制哭榦 於鏈結鏈^體與键結键中資料果浦的資料,而當完成對雇 央處理哭 或更多個蓴料泵浦的服務時,帛著可指示ί °°已完成資料轉移。 甲 加的申請專利範圍及相關圖式,將 .下列、的詳述、附 ->1 583547 五、發明說明(3) 特性及優點 相關圖式包 更充分瞭解本發明的其他觀點 括·· m顯示根據本發明之實施範例的數據 據池集中器包括中央微處理機及直〃裔’邊數 鏈結表列(LLMAC); 。己[思肢存取控制器的 圖2顯示系統記憶體緩衝器包 用於本發明之實施範例中; 麥數的結構,此 圖3顯示系統記憶體缓衝哭 明之實施範例中,圖1的鏈姓W 的靶例,此由本發 所使用,· _ 鍵、,表列直接記憶體存取控制器 實行離埠資料的資料轉 貫行入站資料的資料轉 圖4係於本發明之實施範例中 移流程圖;及 圖5係於本發明之實施範例中 移流程圖。 洋述 種根據本發明借用 α 結構的處理機系統,該=憶體存取控制器之鏈結表列 泵浦的請求。於本發 /、統用以服務一或更多個資料 憶體存取控制器稱為=^於此的實施範例中,該直接記 (lldmac)。該處理機糸:f列直接記憶體存取控制器 取控制器,而減少 ^、、’错由使用鏈結表列直接記憶體存 需求,而提高處理、赛理杰對處理資料轉移作業容量的 ,該中央處理器週:糸統的效能。根據本發明最佳實施例 複合狀態暫存器以地輪詢,例如,所-有資料泵浦中之 、· ’、定该服務那個資料泵浦。中.法處理莽. 583547Page 6 of 583547 V. Description of the invention (2) One ___ Table: Ϊ Chestnut ΐ 彳: 彳: ^: and put the received request into this table in order of priority to transfer the data: the second and second control are directly After the data in Lipu, the middle, ::, and two-shellfish pumps. When the service is completed, the controller transfers data to / from the computer, and the program is controlled by direct memory access. After each service is completed, all data in Lipu? Seeking the second program-controlled direct memory access controller. < 、 Micro-Processing State Phase Invented about direct memory access * ^ ^ ^ ^ ^ ^ ^ structure ′ one or more linked list address addresses of its processing service need to be served! The data pump generates the address sequence. It contains the data system's buffer, which buffers the crying packets. The pump address and the next ramp in the sequence are used as packet buffer indicators. Axekou_ # 六 // / System memory memory buffer crying ::: f memory controller and system log form secret location, but the service information stored in the system memory buffer cry The position of the pump:: the data pump of the second t service, the central processing module makes the connection directly; linking. The controller opens the private m ^ 'and directly accesses the memory. Central processing 2: linking The first data pumping service transfers data to the heart-moving system; t returns to other processing tasks. The direct-access memory controls the cries to be dried on the data of the fruit tree in the link body and the bond key, and when the service for the labor center to process the cries or more material pumps is completed, the cries can indicate ί °° Data transfer completed. Jiajia's scope of patent application and related drawings will be detailed below, attached-> 1 583547 V. Description of the invention (3) Features and advantages Related drawings include a fuller understanding of other aspects of the present invention including ... m shows that the data pool concentrator according to an exemplary embodiment of the present invention includes a central microprocessor and a straight edge 'edge number link list (LLMAC); [Figure 2 of the limb access controller shows the system memory buffer package used in the embodiment of the present invention; the structure of the number, this figure 3 shows the embodiment of the system memory buffer cry The target example of the chain name W, which is used by the present invention, the _ key, lists the direct memory access controller to implement the data transfer from the port data to the inbound data. Figure 4 shows the implementation of the present invention. An example shifting flowchart; and FIG. 5 is a shifting flowchart of an example of the present invention. Foreign description A processor system borrowing an alpha structure according to the present invention, the link list of the memory access controller is a pump request. In the present invention, the memory access controller is generally used to serve one or more data. In the embodiment described herein, the direct memory (lldmac) is used. The processor 糸: f-line direct memory access controller fetches the controller, which reduces the ^ ,, and 'errors caused by the use of the linked list of direct memory storage, and increases the processing and celigial capacity for processing data transfer operations Yes, the CPU week: the performance of the system. According to the preferred embodiment of the present invention, the composite state register is polled in place, for example, among all data pumps, the data pump that determines which service is to be served. Chinese. French Handling. 583547
使用每個複合狀態暫存器的 體存取控制器及對應系統的 體緩衝器位置係由中央處理 。因該中央處理器程控鏈結 對應的系統記憶體緩衝器位 泵浦的位址形成鏈(稱為”鏈 將此鏈結鏈與資訊一起儲存 統記憶體緩衝器中。一旦程 器,該中央處理器使鏈結表 對该鍵所服務的第一個資料 他處理的任務。該鏈結表列 5己t思體與所有鏈結於鏈中的 表列直接記憶體存取控制器 ’來指示中央處理器何時完 雖然接著將描述本發明用 中器的貫施範例,但本發明 例可應用於任何管理資料轉 器直接管理許多資料泵浦與 増加糸統的效率或效能。另 關於以微處理機為基礎的處 之人士應該了解,於此參用 也可以使用其他的處理機, 機、可程式化邏輯或其他不 應用的裝置。此等處理機可 資汛,程控鏈結表列直接記情 ^憶體緩衝器位置,系統記^ 器配置給需要服務之資料果、、甫 表列直接纟己憶體存取控制哭及 置’因此鍵結所有服務的資料 結鏈"(linked chain)),而且 於分配給對應之資料泵浦的系 控该鏈結鏈及系統記憶體緩衝 列直接記憶體存取控制器開始 泵浦轉移資料,而接著返回其-直接記憶體存取控制器在系統 資料栗浦間轉移資料。該鏈結 以暫存器中的中斷或狀態位元 成該鏈的服務。 於以微處理機為基礎之數據集 並不侷限於此。本發明之實施 移的系統時,因解除中央處理 系統記憶體間的資料轉移,而 外,下面描述的實施範例係有 理機系統。然而熟知此項技藝 微處理機只是為了示範,所以 例如微控制器、數位信號處理 管是否實行於.積體電路之特定 使,用於本發明實施例、_的特定實The body access controller using each composite state register and the body buffer position of the corresponding system are centrally processed. Because the central processor program-controlled link corresponds to the system memory buffer bit pumped address, a chain (called a "chain" stores this link together with the information in the system memory buffer. Once the program, the central The processor causes the linked list to perform the task for the first data served by the key. The linked list is composed of all the linked lists and all the linked lists in the direct memory access controller. Indicate when the CPU is finished. Although the implementation examples of the present invention will be described next, the embodiments of the present invention can be applied to any management data converter to directly manage the efficiency or effectiveness of many data pumps and systems. Those who are based on microprocessors should understand that other processors, computers, programmable logic or other non-applied devices can be used here. These processors can be listed in the flood and program-controlled links. Directly remember the location of the memory buffer, the system register is configured to the data that needs service, and the list is directly linked to the memory access control, so the data link of all services is linked. link ed chain)), and the direct memory access controller that controls the link chain and system memory buffer line allocated to the corresponding data pump starts pumping data, and then returns to its direct memory access The controller transfers data between system data. The link uses interrupts or status bits in the register to form the service of the chain. The microprocessor-based data set is not limited to this. When the system is implemented, the data transfer between the memory of the central processing system is canceled. In addition, the implementation example described below is a physical computer system. However, the microprocessor is well-known for the purpose of demonstration. Whether the signal processing tube is implemented in the specific use of the integrated circuit for the specific implementation of the embodiment of the present invention,
第9頁 583547 五、發明說明(5) -- 行。 圖1顯示利用微處理機系統1 0 1的數據池集中器1 〇 〇,微 處理機系統1 0 1包括鏈結表列直接記憶體存取控制器1 〇 2及 中央微處理機1 〇 3。微處理機系統1 0 1使用鏈結表列直接記 憶體存取控制器1 0 2管理資料泵浦111 (1 ) - 111 ( n )、中央微 處理機1 0 3及系統記憶體間的資料轉移,該系統記憶體包 括系統隨機存取記憶體11 2與唯讀記憶體1 1 3。而微處理機 系統101、資料泵浦丨丨丨^^丨丨”)及包括系統隨機存取記 憶體11 2與唯讀記憶體11 3的系統記憶體耦合到系統記憶體 匯流排1 1 0,並在系統記憶體匯流排1 1 〇上轉移資料。系統 記憶體匯流排11 0包括讀寫記憶體位址的位址匯流排及讀 寫資料值的資料匯流排。位址與資料兩匯流排可實際地實 行於使用時間多工化技術的匯流排結構上。資料轉移可能 是’例如,由資料泵浦丨n (1)_丨丨丨(N)協調和/或處理舆個 別數據機對談相關的資料。微處理機系統1 〇 1之仲裁器丨〇 4 可用以提供在中央微處理機1 0 3與鏈結表列直接記憶體存 取控制器1 0 2間共享系統記憶體匯流排11 0。高速介面1 〇 5 管理通信及微處理機系統1 0 1之中央微處理機1 0 3及外部來 源間的資料轉移,該外部來源可為例如中心交換(未顯示 於圖1中)。 由資料泵浦111 (1)-1 lj (N)協調和/或處理個別數據機的 對談,其可用於使用者與中心交換間數據資料的轉移。使 用者與中心交換的數據資料,係以信號型態經由例如T1或 E 1的通信線轉移給數據池集中.器。其中T1線承載。2 4個使用Page 9 583547 V. Description of Invention (5)-OK. FIG. 1 shows a data pool concentrator 100 using a microprocessor system 101, and the microprocessor system 101 includes a linked list direct memory access controller 1 02 and a central microprocessor 1 03 . Microprocessor system 1 0 1 Uses linked list direct memory access controller 1 0 2 Manages data pumps 111 (1)-111 (n), central microprocessor 103 and data between system memory Transfer, the system memory includes a system random access memory 11 2 and a read-only memory 1 1 3. The microprocessor system 101, the data pump 丨 丨 丨 ^^ 丨 丨 ") and the system memory including the system random access memory 11 2 and the read-only memory 11 3 are coupled to the system memory bus 1 1 0 And transfer data on the system memory bus 110. The system memory bus 110 includes the address bus that reads and writes memory addresses and the data bus that reads and writes data values. The address and data buses It can be practically implemented on the bus structure using time multiplexing technology. Data transfer may be 'for example, by data pumping 丨 n (1) _ 丨 丨 丨 (N) coordinating and / or processing individual modem pairs Talk about related information. Arbiter of microprocessor system 〇1 丨 〇4 can be used to provide shared memory between the central microprocessor 103 and the linked list direct memory access controller 102 Row 11 0. High-speed interface 1 0 5 Management data transfer between the central microprocessor 10 3 of the communication and microprocessor system 101 and an external source, which may be, for example, a central exchange (not shown in FIG. 1) ). Coordinated by data pump 111 (1) -1 lj (N) and / Handle the conversation between individual modems, which can be used to transfer data between the user and the center. The data exchanged between the user and the center is transferred to the data pool in a signal form via a communication line such as T1 or E1. . Device. T1 line carrying. 2 4 use
第10頁 583547 - - ^^ 五、發明說明(6) 者通道,每個使用者通道的頻寬為64 kbits/s,劃時多χ 以1 . 5 4 4 Mb i t s / s串列鏈結入站流向及離埠流向。而E 1線 承載30個使用者通道,每個使用者通道的頻寬為64 k b i t s / s,劃時多工以2 . 0 4 8 M b i t s / s串列鏈結每個流向。 時間槽交換器121係在一或更多個T1和/或£1線與使用對應 槽的資料泵浦1 1 1 (1) - 1 1 1 (N)間轉移有效數據通道的脈石馬 調變(PCM)例子,假設上述成立,則128-槽的劃時多工匯 流排(TDM)120以8.192 MbUs/s作業。每當數據交談開始 時,動態分配劃時多工匯流排的時間槽給每個資料泵浦 m (1 ) - 1 1 1 ( N)。當拆除數據交談時,則空出該槽,然後 當另一數據交談開始時,該槽可指派給另一個資料泵浦。' 由中央微處理機1〇3處理資料對應之有效資料泵浦/而 處理過的資料經由高速介面丨〇5傳輸往返於中心交換。μ 下面所描述的實施範例是有關於將電路交換網路 ,泵浦與電信線了丨或旧的介面,及處理數據資料。然而貝 ΐΪΐΪ技藝之人士應該了解,泵浦U1(1)-111(N)可協 料地及接他形式的資料,例如語音、音頻帶或專用數位二欠 ’、 接收自例如數據包(訊框或單元繼電哭置# +貝 線來實行:: 卜,亦可使用其他類型的通Ϊ 援其他類型的許、、隹 r 、義通k、、泉,及支 i的;t示準介面(、例如SQNET)。 又 關於數據池集中器丨〇 〇的範盆 料匯流排寶厣这7 士 ,、τ央钺處理機1 0 3的資 .'T執仃8-位元、16-位.元和/或32-位元_轉1Page 10 583547--^^ V. Description of the invention (6) The user channel, the bandwidth of each user channel is 64 kbits / s, and the time is multiplied by 1. 5 4 4 Mb its / s chain link Inbound and outbound traffic. The E 1 line carries 30 user channels, and the bandwidth of each user channel is 64 k b i t s / s. The time multiplexing is used to chain each flow direction in 2. 0 4 8 M b i t s / s. Time slot switch 121 is a gangster that transfers valid data channels between one or more T1 and / or £ 1 lines and the data pump using the corresponding slot 1 1 1 (1)-1 1 1 (N) For example, if the above is true, the 128-slot time-multiplexed bus (TDM) 120 operates at 8.192 MbUs / s. Whenever a data conversation begins, the time slot of the time-multiplexed bus is dynamically assigned to each data pump m (1)-1 1 1 (N). When a data conversation is removed, the slot is vacated, and then when another data conversation begins, the slot can be assigned to another data pump. '' The effective data pump corresponding to the data processed by the central microprocessor 103 is pumped / and the processed data is transmitted to and from the center exchange via the high-speed interface. μ The implementation examples described below are related to circuit switching networks, pumps and telecommunications lines, or old interfaces, and processing data. However, those who are skilled in the technology should understand that pumping U1 (1) -111 (N) can be expected and other forms of data, such as voice, audio tape or special digital owe, received from, for example, data packets (news The box or unit relays the electricity to cry # + 贝 线 to implement :: bu, also can use other types of communication to support other types of Xu,, 隹 r, Yitong k,, spring, and branch i; t shows the quasi interface ( (For example, SQNET). Also about the data pool concentrator 丨 〇〇 Fan basin material bus these 7 people, τ the central processor 1 0 3 assets. 'T implementation of 8-bit, 16-bit .Bit and / or 32-bit_turn 1
583547 五、發明說明(7) 作業。資料泵浦111 (1) - 111 (N)可為1 6 -位元的周邊設備, 而且資料泵浦111 (1 ) - 111 ( N)可使用索引記憶體緩衝器來 儲存由入站資料(例如從使用者到中心交換)及離埠資料 (例如從中心交換到使用者)流向轉移的處理資料。此為簡 略地描述索引記憶體緩衝器的作業。 中央微處理機1 0 3可分配位址給系統唯讀記憶體11 3、系 統隨機存取記憶體11 2及資料泵浦1 1 1 (1) — 111 ( n )。其中分 配兩個位址給所有資料泵浦111 (1) — 1丨丨(N):第一個資料 泵浦位址用來定址特定的資料栗浦,而第二個資料泵浦位 址用來定址對應資料泵浦往返於系統記憶體的資料。中央 微處理機1 0 3產生讀/寫(R / W)信號,該信號係控制資料從 資料泵浦轉移給中心交換(讀取的信號),或者是從中心交 換轉移給資料泵浦(寫入的信號)。另外,中央微處理機 1 0 3對所服務之資料泵浦丨丨1 (丨)—丨丨丨(N)輪詢,或接收其中 之一或更多之資料泵浦的請求,並且指派對應之系統記憶 體緩衝器給一或更多個服務的資料泵浦丨丨丨(丨)—丨丨丨(N)。 關於上述定址方案的範例,資料泵浦丨丨丨(丨)可使用系統 記憶體中以DPADD( 1 )為開始位址的記憶體空間,而第一資 料泵浦位址DPADD(l)及第二資料泵浦位址DPADD((l) + 2) 與記憶體空間的開始位址DPADD( 1)相對應。記憶體空間涉 及所有可用的及可定址钓記憶體,包括系統隨機存取記憶 體11 2、·系統唯讀記憶體!} 3、資料泵浦i(j) 一 i i j (N)中 的記憶體緩衝器和微處理機系統1 〇 1的内部記憶體(未顯 示)°够結表列直接記憶體存取控制器丨〇 2對於從、、系統隨機583547 V. Description of Invention (7) Homework. Data pumps 111 (1)-111 (N) can be 16-bit peripherals, and data pumps 111 (1)-111 (N) can use index memory buffers to store inbound data ( Such as user-to-center exchanges) and out-of-port data (such as from center-to-user exchanges) to transfer processing data. This is a brief description of the operation of the index memory buffer. The central microprocessor 1 0 3 can allocate addresses to the system read-only memory 11 3, the system random access memory 11 2 and the data pump 1 1 1 (1)-111 (n). Two addresses are assigned to all data pumps 111 (1) — 1 丨 丨 (N): the first data pump address is used to address a specific data pump, and the second data pump address is used To address the corresponding data pump data to and from system memory. The central microprocessor 103 generates a read / write (R / W) signal, which controls the transfer of data from the data pump to the central exchange (read signal), or from the central exchange to the data pump (write Incoming signal). In addition, the central microprocessor 103 polls the data pumps served 丨 丨 1 (丨) — 丨 丨 丨 (N), or receives one or more data pump requests, and assigns corresponding data pumps. The system memory buffer pumps data for one or more services 丨 丨 丨 (丨) — 丨 丨 丨 (N). Regarding the example of the above addressing scheme, the data pump 丨 丨 丨 (丨) can use the memory space in the system memory starting with DPADD (1), and the first data pump address DPADD (l) and the first The second data pump address DPADD ((l) + 2) corresponds to the start address DPADD (1) of the memory space. Memory space involves all available and addressable fishing memory, including system random access memory 11 2. · system read-only memory! } 3. Memory buffers in the data pumps i (j) -iij (N) and the internal memory (not shown) of the microprocessor system 1 〇 enough to list the direct memory access controller 丨〇2 Random for slave, system
第12頁 583547 五、發明說明(9) 用以驅動資料匯流排。 键結表列直接記憶體存取控制器丨〇 2使用不是位於系統 隨機存取記憶體11 2,就是位於微處理機系統丨〇1中的個別 系統冗憶體資料緩衝器,來轉移中央微處理機丨〇 3與資料 泵浦Π1 (1) - 111 (N)中有效之資料泵浦間的資料。中央微 處理機1 0 3與鏈結表列直接記憶體存取控制器丨〇 2使用讀指 標及寫指標來定址,以及轉移資料往返系統記憶體緩衝器 關於離埠資料,其保持兩個指標,其一指示中央微處理 機103填充每個系統記憶體緩衝器,其二指示鏈結表列直 接記憶體存取控制器丨02擷取資料。對於離埠資料而言, 中央微處理機1 0 3處理對應之資料泵浦的資料,並將其儲 存於個別的系統記憶體緩衝器。且以循環方式使用所有的 系統記憶體緩衝器··中央微處理機1〇3將資料儲存於連續 的位置,鏈結表列直接記憶體存取控制器i Q2從此位置顧 取資料,而且轉移該資料至如先前所描述之資料果浦的各 自記憶體緩衝器。該作業同樣適用於入站資料。接著中央 微處理機103使用及更新離埠資料的寫指標。而鏈結表列、 直接記憶體存取控制器1 〇 2使用對應之指標,該對應之指 標為離^阜資料的LLDM>AC 102之讀指標。當中央微處理機 1 0 3设疋糸統s己憶體緩衝、器給對應的資料栗浦 111(1) —11UN)中之一時,由中央微處理機103初始化鏈結 表列直接§己憶體存取控制器1 〇 2用於離埠簧料的讀指標。 根據正規作業,對於離埠資料·,鏈結表列直接記憶體存取Page 12 583547 5. Description of the invention (9) Used to drive the data bus. Bonding the table direct memory access controller 丨 〇2 uses the individual system's redundant memory data buffer located in the system random access memory 11 2 or the microprocessor system 丨 01 to transfer the central microcomputer Data between the processor 丨 〇3 and the effective data pump in the data pump Π1 (1)-111 (N). The central microprocessor 103 and the linked list direct memory access controller 丨 〇2 uses read and write indicators to address, and transfer data to and from the system memory buffer. For outbound data, it maintains two indicators One is to instruct the central microprocessor 103 to fill each system memory buffer, and the other is to instruct the linked list direct memory access controller 02 to retrieve data. For out-of-port data, the central microprocessor 103 processes the corresponding data-pumped data and stores it in a separate system memory buffer. And all the system memory buffers are used in a circular manner. · The central microprocessor 1103 stores the data in consecutive locations, and the linked list direct memory access controller i Q2 fetches the data from this location and transfers it. The data goes to the respective memory buffers of the data Guopu as described previously. The same applies to inbound data. The central microprocessor 103 then uses and updates the write indicator of the outbound data. The linked list and direct memory access controller 102 uses a corresponding index, and the corresponding index is the reading index of LLDM> AC 102 from the data. When the central processing unit 103 sets one of the memory buffers to the corresponding data (Lipu 111 (1) -11UN), the central processing unit 103 initializes the linked list directly. The memory access controller 10 is used as a reading indicator for the out-of-port spring material. According to the normal operation, for outbound data, link list direct memory access
第14頁 583547 五、發明說明(ίο) 控制器1 0 2的讀指標拖曳中央微處理機1 〇 3的寫指標。兩個 指標是循環的關係(即,當到達系統記憶體緩衝器的結束 位置時,每個指標環繞至開始位置)。Page 14 583547 V. Description of the invention (ίο) The reading index of the controller 102 is dragged to the writing index of the central microprocessor 103. The two indicators are cyclic (ie, when the end position of the system memory buffer is reached, each index wraps around to the start position).
關於離璋資料’中央微處理機1 0 3處理對應之資料栗浦 11 1 (1) - 1 1 1 ( N )的資料’也以循環方式使用系統記憶體緩 衝器。鏈結表列直接記憶體存取控制器1 〇 2將資料儲存在 系統記憶體緩衝器的連續位置,而中央微處理機1 〇 3從該 位置擷取資料加以處理。而寫指標由鍵結表列直接記憶體 存取控制器1 0 2所使用及更新,但讀指標是由中央微處理 機1 0 3所使用及更新。當中央微處理機1 〇 3設定系統記億體: 緩衝器給對應的資料泵浦11 1 (1) - 111 ( N)中之一時,由中 央微處理機1 0 3初始化鏈結表列直接記憶體存取控制器丨0 2 用於入站資料的讀指標。根據正規作業,中央微處理機 1 0 3的讀指標拖曳鏈結表列直接記憶體存取控制器丨0 2的寫 指標,類似離埠資料流向的資料轉移。如離埠資料的案例 ,當到達系統記憶體缓衝器的結束位置時,兩個指標環繞. 至開始的位置。Regarding the separation data, the central microprocessor 1 0 3 processes the corresponding data Kuriura 11 1 (1)-1 1 1 (N) data, and also uses the system memory buffer in a circular manner. The linked list direct memory access controller 102 stores data in consecutive locations in the system memory buffer, and the central microprocessor 103 retrieves data from that location for processing. The write indicator is used and updated by the direct memory access controller 10 2 of the key list, but the read indicator is used and updated by the central microprocessor 103. When the central microprocessor 103 sets the system to record billions of data: the buffer pumps one of the corresponding data pumps 11 1 (1)-111 (N), the central microprocessor 1 0 3 initializes the linked list directly Memory access controller 丨 0 2 Read indicator for inbound data. According to the regular operation, the reading index of the central microprocessor 1 0 3 drags the writing index of the direct memory access controller 丨 0 2, which is similar to the data transfer of outbound data flow. As in the case of out-of-port data, when the end position of the system memory buffer is reached, two pointers surround. To the start position.
鏈結表列直接記憶體存取控制器1 0 2使用有關於所有資 料泵浦111 (1) -111 (N)的資訊。該資訊包括下面的參數, 並將其顯示於圖2 中:Current LLDMAC Pointer,Pointer to the Next Buffer i the Chain ’Data Pump Address ,Data Pump Memory Buffer Pointer 5 Buffer Size j Transfer Count 及End Signature。中央微.處理機 103 對不 同的資料泵浦的每個資料流向配置記憶體緩衝器.,而且所_The linked list direct memory access controller 1 0 2 uses information about all data pumps 111 (1)-111 (N). The information includes the following parameters and is shown in Figure 2: Current LLDMAC Pointer, Pointer to the Next Buffer i the Chain ’Data Pump Address, Data Pump Memory Buffer Pointer 5 Buffer Size j Transfer Count, and End Signature. The central micro processor 103 configures a memory buffer for each data stream pumped by a different data.
第15頁 583547 五、發明說明(11) 有的參數儲存在每個記憶體緩衝器的開頭部分。 圖2為系統記憶體緩衝器2 〇 〇包括參數的記憶體結構範例 。系統記憶體緩衝器2 〇 〇的大小最高為6 5 5 3 6個1 6 -位元字 。表示資訊的資料字可為8_位元字、16 —位元字或32_位元 字,除非有其他的規定,否則假設為3 2 -位元字。第一個 資料字2 0 1表示鏈結表列直接記憶體存取控制器丨〇 2所使用 之現行系統記憶體緩衝器的指標(參數定義為"Current LLDMAC Pointer1’)。第二個資料字2〇2表示鏈結鏈中下一Page 15 583547 5. Description of the invention (11) Some parameters are stored at the beginning of each memory buffer. FIG. 2 is an example of a memory structure including a system memory buffer 200 including parameters. The size of the system memory buffer 200 is up to 6 5 5 3 6 16-bit words. The data words representing information can be 8-bit words, 16-bit words, or 32-bit words. Unless otherwise specified, it is assumed to be 3 2 -bit words. The first data word 2 0 1 indicates the index of the current system memory buffer (the parameter is defined as " Current LLDMAC Pointer1 ') used by the linked list direct memory access controller. The second data word 202 indicates the next link in the chain
系統§己憶體緩衝器的指標,並指向系統記憶體緩衝器的開 端(參數定義為,1P〇inter t0 the Next Buffer in the Chain”)。第三個資料字2 〇3用於儲存第一資料泵浦位址, 此位址用於資料泵浦對應之系統記憶體緩衝器(參數定義 為” Data Pump Address")。如果使用先前定義的偏移量, 可由第一資料泵浦位址驅動第二資料泵浦位址。對於描述 於此的實施範例,由於資料泵浦位址的字長度是丨6 _位元 ’所以第一與第二資料泵浦位址間的偏移量是2。 第四個貢料字2 〇 4表示資料泵浦中記憶體緩衝器的指標 (參數疋義為"Data Pump Memory Buffer Pointer1,)。第The system § has an index of the memory buffer, and points to the beginning of the system memory buffer (the parameter is defined as 1P0inter t0 the Next Buffer in the Chain ". The third data word 2 03 is used to store the first Data pump address. This address is used for the system memory buffer corresponding to the data pump (the parameter is defined as "Data Pump Address"). If a previously defined offset is used, the second data pump address can be driven by the first data pump address. For the example described here, since the word length of the data pump address is 6_bits, the offset between the first and second data pump addresses is two. The fourth tribute word 204 refers to the index of the memory buffer in the data pump (the parameter meaning is " Data Pump Memory Buffer Pointer1, ". First
五個字的貢訊代表如下三個字段··第一字段2 〇 5為丨6 _位元 子’用以表不記憶體緩衝器的大小(參數定義為"f f er Size1 )。第二字段2〇6為多—位元資料字,用以代表資料轉 移a十數(參數定義為"Transfer c〇untπ )。第三字段2〇7為 8-位元資料字作為不管該系統記憶體緩衝器是否為鏈結鏈 中之最後一個的結束識別標誌(參數定義為"EndThe five-word tribute represents the following three fields: The first field 2 0 5 is a 6-bit bit 'used to indicate the size of the memory buffer (the parameter is defined as " fer Size1). The second field 206 is a multi-bit data word, which is used to represent the data transfer a ten digits (the parameter is defined as " Transfer c〇untπ). The third field 207 is an 8-bit data word as the end identification flag regardless of whether the system memory buffer is the last one in the chain (the parameter is defined as " End
第16頁 583547 五、發明說明(12) 如以十六進位值〇 〇h表示系統記憶體緩衝 1在開知及鏈結鏈的中間,而值FFH可表士 ::六:資料字208指示中央微處理機1〇3 值' :央微處理機103處理來自系統記憶體緩衝器的資料後, 理機H3更新現行指標值。而從第七個二二主 ^儲存的資料2G9。關於描述之實施例,其f料 =存區大概是(Buffer Size_12) 16_位元字元組。(每 32:位^貢料字等於兩個16_位元資料字)。在鏈結表列直 接3己fe體存取控制器1 〇2初始資料轉移前,中央微處理機 1 03初始化所有系統記憶體緩衝器的最前面六個字。 。。圖3顯示於本發明的實施例中使用四個系統記憶體緩衝― 态2 0 0 ( 1 ) - 2 0 0 ( 4 )的鏈結鏈範例。系統記憶體緩衝器 2 〇 0 (1)對應於服務的資料泵浦1,接著使用系統記憶體緩 衝斋200(1)的參數Pointer to Next Buffer值來設定下— 個服務的系統記憶體緩衝器2 0 0 ( 2 )。系統記憶體緩衝器 2 0 0 ( 2 )對應於的服務資料泵浦4,接著使用系統1憶體°緩 衝器200(2)的參數P〇 in ter to Next Buffer值來設定下― 個服務的系統記憶體緩衝器2 0 0 ( 3 )。系統記憶體緩衝器 2 0 0 ( 3 )對應於服務的資料泵浦2,接著使用系統記憶體緩 衝器2 0 0 ( 3 )的參數Pointer to Next Buffer值來設定下一 個,且為最後一個服務钧系統記憶體緩衝器2 〇 〇 ( 4 )。系統 記憶體緩衝器2 0 0 ( 4 )對應於服務的資料泵浦3。 鏈結鏈中最後一個系統記憶體緩衝器2 0 0.( 4 )之第五個字 的結束識別標誌字段2 0 7中的值為FFH,指示系、統記憶體_Page 16 583547 V. Description of the invention (12) For example, if the hexadecimal value 00h is used to indicate that the system memory buffer 1 is in the middle of Kaizhi and the link chain, and the value FFH can be expressed as: Six: Data word 208 indicates Central microprocessor 103 value ': After the central microprocessor 103 processes the data from the system memory buffer, the processor H3 updates the current index value. And the stored data from the 7th two two masters 2G9. Regarding the described embodiment, its data = storage area is approximately (Buffer Size_12) 16_ byte characters. (Each 32: bit ^ tribute word is equal to two 16_bit data words). The central microprocessor 1 03 initializes the first six words of the system memory buffer before the initial data transfer of the physical access controller 1 02 in the linked list. . . FIG. 3 shows an example of a chain using four system memory buffers—states 2 0 0 (1) to 2 0 0 (4) in an embodiment of the present invention. System memory buffer 2 0 (1) corresponds to the data pump 1 of the service, and then the parameter Pointer to Next Buffer value of the system memory buffer 200 (1) is used to set the system memory buffer for the next service 2 0 0 (2). The system memory buffer 2 0 0 (2) corresponds to the service data pump 4 and then uses the parameter Pin ter to Next Buffer value of the system 1 memory buffer 200 (2) to set the next service. System memory buffer 2 0 0 (3). The system memory buffer 2 0 0 (3) corresponds to the data pump 2 of the service, and then the parameter Pointer to Next Buffer value of the system memory buffer 2 0 0 (3) is used to set the next, and it is the last service Jun system memory buffer 2000 (4). The system memory buffer 2 0 (4) corresponds to the service data pump 3. The end of the fifth word of the last system memory buffer 2 0 0. (4) in the chain is FFH, which indicates the system and system memory_
第17頁 583547 五、發明說明(13) 緩衝器2 0 0 ( 4 )為鏈結鏈中最後的系統記憶體緩衝器。另外 ,對系統記憶體緩衝器20 0 ( 4 )而言,表示指向鏈結鏈中下 二系統記憶體緩衝器的第二個字是無效的。系統記憶體緩 衝器2 0 0 ( 1 )-2 0 0 ( 3 )所對應之結束識別標誌字段的值為 0 0H。系統記憶體緩衝器2〇〇〇)由微處理機以對應之鏈結 表列直接S己丨思體存取控制器1 Q 2的專用暫存器所設定。當 轉移離埠資料時,該專用暫存器為離埠緩衝器指標暫存器 (OBPR ) ’用以儲存現行系統記憶體緩衝器指標,而當轉移 入站資料時,該入站緩衝器指標暫存器(IBPR)用以儲存現 行系統記憶體緩衝器指標。 微處理機系統1 〇 1包括七個暫時暫存器,可用於暫時地 保持對應之系統記憶體緩衝器的參數。而此七個暫時暫存 為儲存的參數為:Current LLDMAC Pointer ’Pointer to the Next Buffer in the Chain , Data Pump Address , Data Pump Memory Buffer Pointer , Buffer Size ,Page 17 583547 V. Description of the invention (13) Buffer 2 0 0 (4) is the last system memory buffer in the chain. In addition, for the system memory buffer 20 0 (4), it means that the second word pointing to the next two system memory buffers in the link is invalid. The value of the end identification flag field corresponding to the system memory buffer 2 0 0 (1)-2 0 0 (3) is 0 0H. The system memory buffer 2000) is set by the microprocessor with a corresponding linked list, which is a dedicated register of the physical access controller 1 Q 2. When transferring outbound data, the dedicated register is the outbound buffer index register (OBPR) 'to store the current system memory buffer index, and when transferring inbound data, the inbound buffer index The temporary register (IBPR) is used to store the current system memory buffer index. The microprocessor system 101 includes seven temporary registers that can be used to temporarily hold the parameters of the corresponding system memory buffers. The seven temporary storage parameters are: Current LLDMAC Pointer ’Pointer to the Next Buffer in the Chain, Data Pump Address, Data Pump Memory Buffer Pointer, Buffer Size,
Transfer Count及End Signature。於暫時暫存器中將來 數End Signature的初始值設定為00H,而且暫時暫存器保 持的參數Transfer Count其減少量的值為1(例如,可像遞 減計數器一樣實行) 圖4係根據本發明實施範例,對離埠資料處理資料轉移 的流程圖。例如由中央彳緣處理機1 〇 3 (圖1 )在步驟4 0 1時初 始化資料轉移至請求服務的資料泵浦111 (1) -111 (N)中之 一或更多。在步驟4 0 1時,中央微處理機1 0 3設定離埠緩衝 器指標,暫存器的值作為對應鏈·結鏈中的第一個系·統記憶體Transfer Count and End Signature. The initial value of the future End Signature in the temporary register is set to 00H, and the parameter Transfer Count held by the temporary register is reduced by 1 (for example, it can be implemented like a down counter). Implementation example, flowchart of data transfer for outbound data processing. For example, the central processing unit 103 (Fig. 1) initializes the data transfer to one or more of the data pumps 111 (1) -111 (N) requesting service at step 401. At step 401, the central processing unit 103 sets the out-of-port buffer index, and the value of the register is used as the first system memory in the corresponding chain and link.
第18頁 583547 五、發明說明(14) 緩衝器的指標值,並且發出開始指令給鏈結表列直接記憶 體存取控制器102。在步驟4 0 2時,將有關於對應之服務資 料栗浦(其位址由OBPR標示)的系統記憶體緩衝器的參數, 由鏈結表列直接記憶體存取控制器丨〇2載入對應之暫/時暫 存器。 在步驟4 0 3開始進行時,暫時暫存器儲存對應之參數Page 18 583547 V. Description of the invention (14) The index value of the buffer and sends a start command to the linked list direct memory access controller 102. At step 402, the parameters of the system memory buffer of the corresponding service data Lipu (its address is marked by OBPR) will be loaded from the linked list direct memory access controller 丨 〇2 Corresponding temporary / time register. At the beginning of step 403, the temporary register stores the corresponding parameters.
Data Pump Memory Buffer Address 及Data PumpData Pump Memory Buffer Address and Data Pump
Address(即,第一資料泵浦位址)的内容,由鏈結表列直 接記憶體存取控制器1 02寫至系統記憶體匯流排丨丨〇。如先 月ίι之描述’該處理牽涉到將第一資料泵浦位址放置在位址_· 匯流排上(即,儲存於暫時暫存器内之參數““ pump Address的值),使對應之資料泵浦m(1) — 111(N)得以確 認自己正開始被服務。然後該處理接著將資料泵浦中的記 憶體緩衝器指標(即儲存於暫時暫存器中參數以“ pumpThe content of Address (that is, the first data pump address) is written from the linked list directly to the memory access controller 102 to the system memory bus 丨 丨 〇. As described in the previous month, the process involves placing the first data pump address on the address bus (ie, the value of the parameter "" pump Address stored in the temporary register) so that it corresponds to Data pumps m (1) — 111 (N) were able to confirm that they were being serviced. The process then moves the memory buffer indicators in the data pump (that is, the parameters stored in the temporary
Memory Buff er Pointer的值)寫到資料匯流排上。 >在步驟404時,可用數值2來增加暫時暫存器中所儲存之 麥數Data Pump Address的值(稱為資料泵浦位址(DPA)保 持暫存ι§)、,藉此將參數Data Pump Address的值轉換為第 ^ =料栗浦位址,而且將現行系統記憶體緩衝器的丨6—位 兀貝料值載入貧料所使用的暫時暫存器data registern )’而該16-位兀資料值由參數Current lldMAC Pointer值 所定址j在步驟40 5時’將參數Current LLDMAC Pointer 的值與系統記憶體緩衝器的結束位址相比較。如果步驟 40 5的吊個比較值是相等的,則在步驟4〇6時,將暫時暫存Memory Buff er Pointer) to the data bus. > In step 404, a value of 2 may be used to increase the value of the Data Pump Address (called the data pump address (DPA) to maintain temporary storage) in the temporary register, thereby setting the parameter. The value of the Data Pump Address is converted to the ^ = lilipu address, and the 6-bit Wubei material value of the current system memory buffer is loaded into the temporary register used by the lean material. The 16-bit data value is addressed by the parameter Current lldMAC Pointer. At step 40, the value of the parameter Current LLDMAC Pointer is compared with the end address of the system memory buffer. If the comparison values in step 40 5 are equal, then in step 4 06, it will be temporarily stored
第19頁 583547 五'發明說明(15) 器中之參數Current LLDMAC Pointer的值重設為第一位址 的指標值或資料區的開端(例如系統記憶體緩衝器的字段 相當於0BPR + 1 2)。如果步驟4 0 5的兩個比較值是不相等的 ,則在步驟40 7時,以2增加暫時暫存器中之參數Current LLDMAC Pointer的值,該值用以指向下一資料區的位置。 该處理不是從步驟4 0 6,就是步驟4 0 7,前進到步驟4 〇 8。 在步驟408時,將資料暫存器的内容寫入參數Data pump Address + 2的位置,該值由DPA保持暫存器中的值所標示 。在步驟40 9時,暫時暫存器所保持之Trans;fer c〇unt值 的減量是1。在步驟4 1 0時,測試判斷暫時保持暫存器中之-參數Trans f er Count值是否為零。如果步驟4 1 q測試判斷 暫時保持暫存器中之參數Transf er Count值不為零,則處 理返回步驟404,載入下一個現行系統記憶體緩衝器的資 料值。但是如果步驟4 1 〇測試判斷暫時保持暫存器中之參 數Transfer Count值為零,則在步驟η 1時,將測試判斷 參數End Signature的值是否為FFH。如果步驟411測試判 斷系統記憶體緩衝器之參數En(1 Signature值為FFH,則在 步驟412日守’將更新芩數Curren1: llDMAC Pointer的值。 麥數Current LLDMAC P〇inter的更新值牽涉到從暫時暫存 器將值載入系統記憶體緩衝器的第一個字。該處理在步驟 4 1 5時中止’然而可選擇、的步驟4丨6不是在步驟4丨5之前, 就是在步驟4 1 5之後,被用於中斷中央微處理機丨〇 3,並指 示該處理已完成。 如果步驟411測式判斷參數£]1(1 signature的值不gFFIjPage 19 583547 Five 'invention description (15) The value of the parameter Current LLDMAC Pointer in the device is reset to the index value of the first address or the beginning of the data area (for example, the field of system memory buffer is equivalent to 0BPR + 1 2 ). If the two comparison values in step 4 0 5 are not equal, then in step 40 7, the value of the parameter Current LLDMAC Pointer in the temporary register is increased by 2 and the value is used to point to the position of the next data area. The process proceeds from step 406 or step 407 to step 408. In step 408, the content of the data register is written into the position of the parameter Data pump Address + 2, and the value is indicated by the value in the DPA holding register. At step 409, the decrement of the Trans; fer c〇unt value held by the temporary register is 1. At step 4 10, the test judges whether the value of the parameter Transfer Count in the temporary register is zero. If the test in step 4 1 q temporarily holds that the value of the parameter Transf er Count in the register is not zero, the process returns to step 404 to load the data value of the next current system memory buffer. However, if the test in Step 4 〇 temporarily determines that the parameter Transfer Count in the register is temporarily held at zero, then in step η 1, it will test to determine whether the value of the parameter End Signature is FFH. If the parameter En (1 Signature value of FFH is determined by the system memory buffer test in step 411, the value of Curren1: llDMAC Pointer will be updated at step 412. The updated value of the current LLDMAC Pointer will involve Load the value from the temporary register into the first word of the system memory buffer. The process is aborted at step 4 1 5 'However, step 4 6 is optional, either before step 4 5 or at step 5 After 4 1 5, it is used to interrupt the central microprocessor 丨 〇3 and indicate that the process is completed. If the test parameter is determined in step 411, the value of 1 (1 signature is not gFFIj
第20頁 583547 五、發明說明(16) ----- 在步驟41 3時,將保持暫存器的參數Current LLDMAC P 〇 i n t e r值寫入系統記憶體緩衝器的第一個字。然後,在 步驟414時,從對應之暫時暫存器將參數p〇inter”、t〇⑽ N^xt puffer ln the chain的值載入離埠緩衝器指標暫存 器。結果,儲存於離埠緩衝器指標暫存器的位址值將指向 =結鏈中的下一個系統記憶體緩衝器(即,下一個服務的 =料泵浦),而該處理返回步驟4 〇 2重複該處理,直到到達 最後的資料緩衝器為止,如同以FFH值來標示參數End Signature 〇 圖5係根據本發明實施範例,對入站埠資料處理資料轉__ 移的流程圖。例如由中央微處理機丨〇 3 (圖丨)在步驟5 〇 1時 初始化資料轉移至請求服務的資料泵浦丨丨丨(丨)—丨丨丨(N)中 之一或更多。在步驟5 〇 1時,中央微處理機丨〇 3以對應於鏈 結鏈中之第一個系統記憶體緩衝器位址的指標值程控入站 緩衝為指標暫存器,並且對LLDMAC 1 02發出開始指令。在 步驟5 0 2時,將有關於對應之服務資料泵浦(其位址由I BPR . 標示)的系統記憶體緩衝器的參數,由鏈結表列直接記憶 體存取控制器1 〇 2載入對應之暫時暫存器。 在步驟5 0 3開始進行時,暫時暫存器儲存對應之參數Page 20 583547 V. Description of the invention (16) ----- At step 41 3, write the value of the parameter LLDMAC P 0 i n t e r of the holding register into the first word of the system memory buffer. Then, at step 414, the values of the parameters p0inter "and t〇⑽ N ^ xt puffer ln the chain are loaded from the corresponding temporary registers into the off-port buffer index register. The results are stored in the off-port The address value of the buffer index register will point to the next system memory buffer in the link (ie, the next service = material pump), and the process returns to step 4 and repeats the process until Until the last data buffer is reached, the parameter End Signature is marked as FFH value. Figure 5 is a flow chart of transferring inbound port data processing data according to an example of the embodiment of the present invention. For example, a central microprocessor 丨 〇 3 (Figure 丨) At step 501, the initialization data is transferred to one or more of the data pumps requesting service 丨 丨 丨 (丨) — 丨 丨 丨 (N). At step 501, the central microcomputer The processor 丨 〇3 takes the index value program-controlled inbound buffer corresponding to the first system memory buffer address in the link as an index register, and issues a start instruction to LLDMAC 1 02. At step 5 0 2 At that time, there will be related service data pumps (which The parameters of the system memory buffer (addressed by I BPR.) Are loaded into the corresponding temporary registers by the linked list direct memory access controller 1 02. When step 503 starts, temporarily Register to store corresponding parameters
Data Pump Memory Buffer Address 及Data PumpData Pump Memory Buffer Address and Data Pump
Address(即,第一資料赛浦位址)的内容,直接由記憶體 存取控制器鏈結表列1 〇 2寫入系統匯流排11 〇。如先前之描 述’該處理牽涉到將第一資料泵浦位址放置在位址匯流排 上(即:參數Data Pump Address的值),使對應之資料装,The content of Address (that is, the first data Cypress address) is directly written into the system bus 11 by the memory access controller link list 102. As described previously, the process involves placing the first data pump address on the address bus (ie, the value of the parameter Data Pump Address), and loading the corresponding data,
第21頁 583547 五、發明說明(17) 浦1 11 (1) - 111 ( N )得以確認自己正開始被服務。然後該處 理接著將資料泵浦中的記憶體緩衝器指標(即Data Pump Memory Buffer P〇i n t e r的值)寫到資料匯济L j非上〇 在步驟5 04時,可用數值2來增加暫時暫存器中所儲存之 參數Data Pump Address的值(稱為資料泵浦位址(肝乂)保 持暫存器)’ It此將參數Data Pump Address的值轉換為第 二資料泵浦位址,而且將現行系統記憶體缓衝器的1 6 —位 元資料值載入資料所使用的暫時暫存器(” da t a register”),而該16-位元資料值係由參數Data Pump Address值的增加值所定址。在步驟5 0 5時,將資料暫存器: 中的1 6 -位元資料值寫到現行系統記憶體緩衝器的位置, 而該位置由蒼數Current LLDMAC Pointer所定址。在步驟 506時’將參數Current LLDMAC Pointer的值與資料緩衝 器的結束位址相比較。如果在步驟5 〇 6的兩個比較值是相 等的,則在步驟50 7時,將暫時暫存器中之參數⑸^⑽士 LLDMAC Pointer的值重設為第一位址的指標值或資料區的 開端(例如系、纟為記憶體緩衝器的字段相當於I B p r + 1 2 )。 如果在步驟5 0 6的兩個比較值是不相等的,則在步驟5 〇 8時 ,以2來增加暫時暫存器中之參數Curren1: LLMAC Pointer的值’而該值用以指向現行系統記憶體缓衝器之 下一貧料區的位置。該處理不是從步驟5 〇 7,就是步驟5 〇 8 ,前進到步驟5 0 9。 在=驟5 0 9時,暫時暫存器所保持之。犯以” ^⑽以值 的減1是1。在步驟5 1 0時,測.試判斷暫時保持暫.存器中之-Page 21 583547 V. Description of Invention (17) Pu 1 11 (1)-111 (N) was able to confirm that he was being served. The process then writes the memory buffer index (ie, the value of the Data Pump Memory Buffer Point) in the data pump to the data pool. L j is not on. At step 5 04, the value 2 can be used to increase the temporary temporary The value of the parameter Data Pump Address stored in the register (called the data pump address (liver) holding register) 'It converts the value of the parameter Data Pump Address to the second data pump address, and The 16-bit data value of the current system memory buffer is loaded into a temporary register ("da ta register") used by the data, and the 16-bit data value is determined by the parameter Data Pump Address Addressed by value added. In step 505, the 16-bit data value in the data register: is written to the current system memory buffer location, and the location is addressed by the current LLDMAC Pointer. At step 506 ', the value of the parameter Current LLDMAC Pointer is compared with the end address of the data buffer. If the two comparison values in step 5 and 0 are equal, then in step 50 and 7, the value of the parameter ⑸ ^ ⑽ 士 LLDMAC Pointer in the temporary register is reset to the index value or data of the first address. The beginning of the region (for example, the field where 纟 is the memory buffer is equivalent to IB pr + 1 2). If the two comparison values in step 5 06 are not equal, then in step 5 08, the parameter in the temporary register Curren1: LLMAC Pointer value is increased by 2 and this value is used to point to the current system The location of a lean area below the memory buffer. The process proceeds from step 507 or step 508 to step 509. At step 5 0 9 the temporary register holds it. The decrement of "^ ⑽ 以 值" minus 1 is 1. At step 5 1 0, test and judge to temporarily hold one of the temporary registers-
583547 五、發明說明(18)583547 V. Description of the invention (18)
Transfer Count值是否為零。如果步驟51〇測試判斷暫時 保持暫存器中之Transfer Count值不為零,則處理返回步 驟5 0 4 ’讀取下一個資料值放入資料暫存器。但是如果步 驟510測試判斷暫時保持暫存器中之丁ransfer c〇unt值^ 零’則在步驟511時’將測試判斷參數End Slgnature的值 是否為FFH。如果步驟51 1測試判斷系統記憶體緩衝器之參 數End Signature值為FFH,則在步驟512時,將更新泉數 Current LLDMAC Pointer 的值。而更新參數Current LLDMAC Pointer牽涉到從暫時暫存器將更新值載入系統記 憶體緩衝器的第一個字。該處理在步驟5丨5時中止,然而 可選擇的步驟5 1 6不是在步驟5 1 5之前,就是在步驟5丨5之 後’被用於中斷中央微處理機丨03,並指示該處理·已完成 如果步驟511測試判斷參數En(i Signature的值不為FFH ’在步驟513時,將保持暫存器之參數Curren1: LLDMAC P o i n t e r的值寫入糸統記憶體緩衝器的第一個字。然後, 在步驟514時,從對應之暫時暫存器將鏈中之參數p^inter to the Next Buffer in the Chain的值載入入站緩衝器 指標暫存器。結果,儲存於入站緩衝器指標暫存器的位址 值將指向鏈結鏈中的下一個系統記憶體緩衝器(即,下一 個服務的資料泵浦),而、該處理返回步驟5〇2重複上述處理 ,直到到達最後的資料緩衝器,如同以FFH值來標示參數 End Signature 。Whether the Transfer Count value is zero. If it is judged in step 51o that the Transfer Count value in the temporary holding register is not zero, the process returns to step 5 0 4 'to read the next data value and put it into the data register. However, if the test in step 510 judges that the ransfer c0unt value in the register is temporarily held ^ zero ', then in step 511', it is tested to determine whether the value of the parameter End Slgnature is FFH. If the test in step 51 1 determines that the parameter End Signature of the system memory buffer is FFH, then in step 512, the value of the current number LLDMAC Pointer will be updated. The update parameter Current LLDMAC Pointer involves loading the updated value from the temporary register into the first word of the system memory buffer. The process is aborted at step 5 丨 5, however the optional step 5 1 6 is either before step 5 1 5 or after step 5 5 5 'is used to interrupt the central microprocessor 丨 03 and instruct the process · It has been completed if the test judgment parameter En (i Signature value is not FFH 'in step 511', in step 513, the value of the holding register parameter Curren1: LLDMAC Pointer is written into the first word of the system memory buffer Then, at step 514, the value of the parameter p ^ inter to the Next Buffer in the Chain from the corresponding temporary register is loaded into the inbound buffer indicator register. The result is stored in the inbound buffer The address value of the device index register will point to the next system memory buffer (ie, the data pump for the next service) in the link, and the process returns to step 502 and repeats the above process until it reaches The final data buffer is like the FFH value to indicate the parameter End Signature.
根據本發明實施例之微處理機系統作業,可藉由解除作The microprocessor system operation according to the embodiment of the present invention can be cancelled by
第23頁 583547 理步驟 器或一 實踐此 ,也可 化該程 其他機 程式碼 樣地, 存於儲 媒體傳 、或藉 例如電 般用途 元件, 應瞭解 原理及 改變。 及裝置的形式具 式具體化本發明 式磁片、光碟機 存媒體,其中, 則該機器成為實 的形式具體化本 载入和/或執行3 體例如經由電線 其中,當機器載 成為實踐本發明 該程式碼區段結 定邏輯電路。 者不需違背描述 之詳述、材料及 及安排為了解釋 ^料流之典型的傳送,而增加 怨。另外,該鏈結鏈允許系統 服務的資料泵浦動態鏈結,而 性地擴充系統。 於電路處理的實施範例,但本 此項技蟄之人士應該了解,電 :數位領域’ ^同在軟體程式 ;例如,數位信號處理機、 五、發明說明(19) 業之中央微處 其處理效能, έ己憶體緩衝器 且允許經由動 儘管已經描 發明並不侷限 路元件的各種 中的處 微控制 可用 同樣地 體具體 或任何 執行該 置。同 不管儲 些傳輸 過光纖 式碼, 行在一 唯一的 另外 利中的 行各種 理機有關於多 例如數據池組 僅對應於需$ 態鏈結形式彈 述本發明有關 於此。而熟知 功能也可實行 。此軟體可用 般用途的電月籍 等方法之方法 用程式碼的形 式碼,例如幸欠 器可讀取的儲 ,例如電腦, 也可用程式碼 存媒體由機器 輸,此傳輪媒 由電磁輻射, 腦,則該機器 的處理機上, 其操作近$特 ,熟悉此技藝 領域,即可對 而詳述、材料 體化本發明。 ,而以有形媒 、硬式裝置、 當機器載入及 踐本發明的裝 發明’例如, 或者經由一 或電纜線、透 入及執行該程 的裝置。當實 合處理機提供 於下面申請專 安排等部份進 本發明之本質Page 23 583547 If you do this, you can also implement this process, you can also change the process of other machine code samples, stored in the storage media, or borrowed from general-purpose components, for example, you should understand the principle and changes. The form of the device and the device formally embody the magnetic disk and optical disc storage medium of the present invention, in which, the machine becomes a physical form, which is loaded and / or executed. For example, via a wire, when the machine is loaded into a practical version Invented the code segment set logic circuit. It is not necessary to violate the detailed description, materials and arrangements in order to explain the typical transmission of the material flow and increase grievances. In addition, the link allows the data served by the system to pump dynamic links, thereby expanding the system. Examples of circuit processing, but those skilled in the art should understand that electricity: the digital field's software programs; for example, digital signal processors, five, invention description (19) central processing of its industry The performance, the memory buffer, and the micro-control of various components that allow the circuit components to be used in spite of the invention have not been described, can be implemented in the same manner or any implementation. In the same way, regardless of the transmission of the fiber-optic code, there is a variety of processors in one unique advantage. For example, the data pool group only corresponds to the need for $ state link form. The invention is related to this. Well-known functions can also be implemented. This software can be used in the form of a code, such as a general purpose electric month, such as a readable storage of a debtor, such as a computer, or a code storage medium can be input by a machine. This transmission medium is emitted by electromagnetic radiation. The brain, on the processor of the machine, its operation is close to $ 1. If you are familiar with this technical field, you can elaborate and materialize the invention. Tangible media, hard-type devices, when the machine loads and implements the invention of the invention ', for example, or via a cable, a device that penetrates and executes the process. When the practical processor is provided in the following application, special arrangements and other parts are included in the essence of the invention
第24頁 583547 五、發明說明(20) 已於上描述及說明Page 24 583547 V. Description of Invention (20) has been described and explained above
Claims (1)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60255600A | 2000-06-23 | 2000-06-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW583547B true TW583547B (en) | 2004-04-11 |
Family
ID=24411824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW90114725A TW583547B (en) | 2000-06-23 | 2001-06-18 | Linked-list memory-access control for a concentrator |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2002108800A (en) |
GB (1) | GB2367728A (en) |
TW (1) | TW583547B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10303095A1 (en) * | 2003-01-27 | 2004-08-12 | Infineon Technologies Ag | Data processing device |
US9858241B2 (en) | 2013-11-05 | 2018-01-02 | Oracle International Corporation | System and method for supporting optimized buffer utilization for packet processing in a networking device |
US8634415B2 (en) | 2011-02-16 | 2014-01-21 | Oracle International Corporation | Method and system for routing network traffic for a blade server |
US9489327B2 (en) | 2013-11-05 | 2016-11-08 | Oracle International Corporation | System and method for supporting an efficient packet processing model in a network environment |
WO2015069408A1 (en) * | 2013-11-05 | 2015-05-14 | Oracle International Corporation | System and method for supporting efficient packet processing model and optimized buffer utilization for packet processing in a network environment |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5251303A (en) * | 1989-01-13 | 1993-10-05 | International Business Machines Corporation | System for DMA block data transfer based on linked control blocks |
US5317692A (en) * | 1991-01-23 | 1994-05-31 | International Business Machines Corporation | Method and apparatus for buffer chaining in a communications controller |
US5905912A (en) * | 1996-04-08 | 1999-05-18 | Vlsi Technology, Inc. | System for implementing peripheral device bus mastering in a computer using a list processor for asserting and receiving control signals external to the DMA controller |
US5970069A (en) * | 1997-04-21 | 1999-10-19 | Lsi Logic Corporation | Single chip remote access processor |
US6052387A (en) * | 1997-10-31 | 2000-04-18 | Ncr Corporation | Enhanced interface for an asynchronous transfer mode segmentation controller |
US6199121B1 (en) * | 1998-08-07 | 2001-03-06 | Oak Technology, Inc. | High speed dynamic chaining of DMA operations without suspending a DMA controller or incurring race conditions |
-
2001
- 2001-06-18 TW TW90114725A patent/TW583547B/en active
- 2001-06-22 GB GB0115349A patent/GB2367728A/en not_active Withdrawn
- 2001-06-22 JP JP2001189406A patent/JP2002108800A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2367728A (en) | 2002-04-10 |
JP2002108800A (en) | 2002-04-12 |
GB0115349D0 (en) | 2001-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10846224B2 (en) | Methods and apparatus for control of a jointly shared memory-mapped region | |
EP1430405B1 (en) | Method and apparatus for distributed direct memory access for systems on chip | |
EP1358562B8 (en) | Method and apparatus for controlling flow of data between data processing systems via a memory | |
EP1645967A1 (en) | Multi-channel DMA with shared FIFO buffer | |
US9280297B1 (en) | Transactional memory that supports a put with low priority ring command | |
US9069602B2 (en) | Transactional memory that supports put and get ring commands | |
EP1059588A1 (en) | Multi-channel dma with request scheduling | |
JPS58501065A (en) | Processing equipment for packet voice integrated exchange | |
US20040225779A1 (en) | Programmable CPU/interface buffer structure using dual port RAM | |
CN102651690A (en) | Method and device for controlling shared memory | |
US20210377150A1 (en) | Memory pooled time sensitive networking based architectures | |
EP1358563A1 (en) | Method and apparatus for controlling flow of data between data processing systems via a memory | |
US9117032B2 (en) | Facilitating routing by selectively aggregating contiguous data units | |
WO2015084506A1 (en) | System and method for managing and supporting virtual host bus adaptor (vhba) over infiniband (ib) and for supporting efficient buffer usage with a single external memory interface | |
WO2011149482A1 (en) | Storing data in any of a plurality of buffers in a memory controller | |
TW583547B (en) | Linked-list memory-access control for a concentrator | |
JP4855864B2 (en) | Direct memory access controller | |
US9342313B2 (en) | Transactional memory that supports a get from one of a set of rings command | |
WO2013062109A1 (en) | I/o device control system and method for controlling i/o device | |
US9990307B1 (en) | Split packet transmission DMA engine | |
JP5482472B2 (en) | Data transfer apparatus and data transfer method | |
CN117971744A (en) | Data access method and system for pipelined direct memory access | |
CN106528488A (en) | Computation cluster system in single machine and control method | |
TW200412537A (en) | Linear access window | |
EP1990725A1 (en) | Central processing unit, central processing unit control method, and information processing system |