[其他]多個地址空間的尋址方法無效
| 申請號: | 86103710 | 申請日: | 1986-06-02 |
| 公開(公告)號: | CN86103710A | 公開(公告)日: | 1986-12-24 |
| 發明(設計)人: | 小威廉·S·沃利;特雷斯·C·米勒;史蒂文·S·馬奇尼克 | 申請(專利權)人: | 惠普公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 中國專利代理有限公司 | 代理人: | 匡少波,黃向陽 |
| 地址: | 美國加利福尼亞*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 地址 空間 尋址 方法 | ||
增加計算機虛擬存儲器的容量可用增加可存取的地址空間數量的辦法解決。32位的計算機可用32位的地址碼對給定的存儲空間內的232個虛擬存儲單元進行存取。對264個可尋址虛擬存儲單元來說,232個地址空間的每個含有232個存儲單元,若增加一個32位的地址空間識別碼,32位計算機可對任一地址空間內的任一存儲單元進行存取。遺憾的是,長達64位的地址指針難以處理,用它對數目眾多的地址空間進行存取,使硬件和軟件復雜化,而這些硬件和軟件是轉換虛擬地址到物理地址所不可缺少的。
按照本發明提出的實施方案,計算機既可在需要時使用長地址指針,也可在僅需存取少量的地址空間時-多數計算機程序都是這種情況,使用短地址指針存取4個地址空間。每一存儲基準指令包含一個兩位的空間標識碼和一個基地址段,基地址段用來指定存放基地址的基地址寄存器。使用長地址指針時,1、2或3空間標識碼,分別指定與之對應的空間寄存器。空間寄存器中32位的空間識別碼是長地址指針的一部分。若使用短地址指針時,則空間標識碼0,表示應按基地址的高二位選擇空間寄存器4~7中的一個,空間識別碼則存于其中。由于使用基地址的高二位表示地址空間,所以4~7的各空間僅有1/4可以直接存取,從而形成了一個由4個空間中每個空間的1/4構成的偽空間。
圖1表示一個計算機系統,它可用于按照本發明提出的實施例。
圖2表示可用于圖1系統中的存儲基準指令的位分配圖。
圖3A~3B是存取圖1所示存儲單元執行步驟的流程圖。
圖4A~4B表示圖3A~B的流程圖中各種地址空間的存取。
圖1表示可按照本發明提出的實施例使用的32位計算機系統。處理機1通過高速緩沖存儲器(未表示出)可以接收來自存儲器的數據和指令。該系統包括若干通用寄存器5(包括基地址寄存器9和通用寄存器11,13)和被定義為SR-0至SR-7的8個空間寄存器7。
圖2表示一個32位存儲器基準指令21(例如LOAD或STORE)。該指令可用于圖1所示的系統中,使用64位的長地址指針或短地址指針,可對若干地址空間中的一個地址空間,存取其中指定的存儲單元。六位的操作碼段11用以標識指令。五位基地址段13確定含有基地址的基地址寄存器9。目標或源字段15識別一個含有目標或源地址的寄存器,目標或源地址的使用在題為“指令流內嵌入數據之方法”(METHOD????FOR????EMBEDDING????DATE????IN????AN????INSTRUCTION????STRAM)的共同未決申請中有比較完整的敘述,該申請于1985年7月28日由Worley等人提出,在此作為參考材料。一個兩位的空間標識碼17(短指針)用于存取指定的地址空間,后面將敘述。一個14位偏移量字段19用以修改某個地址,詳見上面列出的美國專利申請。
圖3A~3B組成了各步驟的流程圖,在指令21執行期間由圖1所示計算機系統完成這些步驟。第31步是讀出存儲器基準指令21,第33步是修改地址(即基地址寄存器9中的基地址),在上面所提到的Worley等人的專利申請中已有說明。在第35步檢查長為兩位的空間標識碼17。若SS不為零執行圖3A所示步驟,若SS等于零則執行圖3B所示步驟。
圖3A和4A描繪了SS不為零和使用長地址指針情況下的流程圖。空間寄存器SR-1,SR-2及SR-3的內容可用非特權程序改變,以裝入各地址空間的空間識別碼。SS值為01,10和11時,表示SR-1,SR-2和SR-3的內容為長地址指針的空間識別碼部分,用以存取圖4A中所示的三個空間B,C和D。
使用長指針時,執行存儲基準指令,除存貯基準指令本身外,尚需兩條MOVE指令。例如圖4A中,欲將一個數據字從源寄存器S取出并送入指定地址空間B中的存儲單元,LOAD操作需要:
MOVE????date,SR-1
MOVE????date,GR-9
LOAD????(SS=01,b=GR-9),S
第一個MOVE指令把32位空間識別碼從存儲器或從指令流送入空間寄存器SR-1。第二個MOVE指令把基地址從寄存器或從指令流傳送進通用寄存器GR-9。然后用SR-1(SS=01)中存放的空間識別碼和GR-9中存放的基地址組成長地址指針,可執行LOAD指令。在字段15提供執行指令所需的源地址S。這樣,使用長地址指針時,存儲基準指令的執行共需三條指令。此外,在存儲基準指令執行前,必須把一個正確的長地址指針空間識別碼部分傳送給一個空間寄存器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于惠普公司,未經惠普公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://m.szxzyx.cn/pat/books/86103710/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:在指令串中嵌入數據的方法
- 下一篇:制備4[5]-取代咪唑的方法





