[其他]用于向處理器給出輸入/輸出通知的裝置無效
| 申請號: | 86103678 | 申請日: | 1986-06-02 |
| 公開(公告)號: | CN86103678A | 公開(公告)日: | 1986-12-31 |
| 發明(設計)人: | 戴威·V·詹姆斯;費爾南多·A·盧茲 | 申請(專利權)人: | 惠普公司 |
| 主分類號: | G06F13/32 | 分類號: | G06F13/32 |
| 代理公司: | 中國專利代理有限公司 | 代理人: | 李先春,黃向陽 |
| 地址: | 美國加利福尼亞*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 處理器 給出 輸入 輸出 通知 裝置 | ||
本發明涉及在計算機系統內的數據傳輸。一般說來,當輸入/輸出(I/0)設備準備好可以運行接受處理器的服務時,例如在向存儲器或從存儲器的一次數據存取之后,I/0設備將通知處理器。通常,這個通知是由通過特殊硬件線路的信號來完成的。例如可以從每個I/0設備連一條中斷線到系統處理器,當I/0設備中的某一個準備好運行時,它便通過中斷線路發送一個信號,處理器即可調用合適的軟件子程序為該I/0設備服務。一般而言,處理器要采用某種類型的中斷優先級結構。指定一I/0設備具有哪一個優先級是由硬件來設置的。適當的優先級數目常常是基于對為提供每一個優先級所需的硬件費用和能夠識別優先級,對更有效地完成它的任務的處理器的重要性這兩個因素進行平衡、分析來選擇的。
如果一處理器正運行一具有高優先級的I/0設備時,便不允許具有較低優先級的I/0設備去中斷該處理器。因而處理器必須對來自I/0設備的中斷提供緩沖或是排隊,或者I/0設備需要繼續不斷的將它需要服務通知處理器。實現這樣一種緩沖方案的硬件可能是十分復雜的。
按照本發明所推薦的實施方案,給出了一個用于向處理器發出數據傳輸完成通知的方法和裝置。輸入/輸出(I/0)設備單獨地或者多個地與它們的位于系統存儲器中的指令鏈表相關聯。在每一個處理器中都已置放了指令單元。通常每個單元規定了在I/0設備和存儲器的存儲單元之間的數據傳輸的方向、長度和存儲器地址。
一指令單元組的子集包含了專用于報告數據傳輸狀態的單元。在這個指令單元組的子集中的每一個指令單元都包含一個指示某個狀態記錄的指針。狀態記錄當它被一I/0設備修改時,被置入一個存放在存儲器內的狀態鏈表中。一個I/0設備可以有自己的狀態鏈表,也可以與若干其它的設備共享一個狀態鏈表。一般而言,共享一個狀態鏈表的I/0設備在關于接受處理器的服務方面是處于同一優先級的。狀態記錄包含一I/0設備和存儲器的存儲單元之間傳輸狀態的信息。將狀態記錄插入狀態鏈表是由硬件的一系列不間斷操作完成的。根據執行I/0的情況,硬件即可向在處理器內的控制程序給出新的單元已加到第二個鏈表中的非同步通知。這個通知將使在處理器中目前正運行的過程產生中斷。
本發明比先有技術具有多種優點。指令鏈表和狀態鏈表的數目是由軟件決定的,因而能容易地加以改變。與狀態鏈表相關的I/0設備可以根據過程的相關性、服務的優先級、資源的臨界狀態或某個其它判據或判據的組合加以選擇。處理器中的控制程序選擇在指令鏈表的何處存放用于報告狀態的指令單元以及哪個信息將被存放到狀態記錄中去,從而可以利用它們識別等待過程和監視在特定的狀態表上的過程的狀態。此外,當一新的狀態記錄被存放到狀態鏈表中去時,控制程序還具有拒絕接受中斷的選擇,使處理器能控制何時為I/0服務。無論如何,狀態信息不會丟失,而是保存在狀態鏈表中直到處理器引用它們。
圖1給出在總線上的處理器和各種I/0設備的方塊圖。
圖2給出了一個按照本發明所推薦的實施方案的指令鏈表。
圖3給出了一個按照本發明所推薦的實施方案的指令單元。
圖4給出了按照本發明所推薦的實施方案的指令單元,狀態記錄和狀態記錄鏈表。
圖5給出了一個按照本發明所推薦的實施方案的新的狀態記錄。
圖6A-6C給出了按照本發明所推薦的實施方案的被加到狀態記錄鏈表中去的圖5所給出的新的狀態記錄。
圖7給出了按照本發明所推薦的實施方案的圖4所給出的狀態記錄鏈表的首部。
圖1給出了計算機系統的簡化方塊圖,它包括處理器11、輸入/輸出(I/0)設備12、I/0設備13、I/0設備14和系統存儲器15,它們都連接到數據傳輸總線16上。I/0設備12、13和14都是直接存取存儲器(DMA)裝置,即它們能夠從系統存儲器15存取數據。
圖2是一個由指令單元21、22、23、24、25、26和27組成的在系統存儲器15中的指令鏈表。在所推薦的實施方案中,每個指令單元系4個32位的字,如圖3和圖4中所示。指令單元21、22、23、25和27都有同樣的格式。
作為一典型的例子,圖3給出了指令單元23的格式。指令單元23包含一個32位字31、一個32位字32、一個32位字33和一個32位字34。字31是一個指針,它存放指令單元24的存儲器地址,指令單元24是鏈表20中指令單元23的下一個指令單元。字32是一個編碼指令,它指示一I/0設備去完成哪個操作,例如,是向存儲器寫入還是從存儲器讀出。字33是系統存儲器15中的一個據以寫入或讀出數據的地址。字34是一個字節計數,它提供了要傳輸的數據字節的數目。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于惠普公司,未經惠普公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/86103678/2.html,轉載請聲明來源鉆瓜專利網。





