[其他]多个地址空间的寻址方法无效
| 申请号: | 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://www.vipzhuanli.com/pat/books/86103710/2.html,转载请声明来源钻瓜专利网。
- 上一篇:在指令串中嵌入数据的方法
- 下一篇:制备4[5]-取代咪唑的方法





