PC_寻址方式
创始人
2024-02-06 11:41:32
0

文章目录

    • 寻址方式
    • 指令寻址
    • 数据寻址
      • 隐含寻址
      • 立即数寻址
      • 直接寻址
      • 间接寻址
      • 寄存器寻址
      • 寄存器间接寻址
      • 相对寻址
      • 基址寻址
      • 变址寻址
      • 堆栈寻址
      • 小结

寻址方式

  • 寻找指令或者操作数有效地址的方式,即,确定本条指令的数据地址以及下一条指令的地址的方法
    • 包含指令寻址和数据寻址两类
  • 指令中断地址码字段不代表操作数的真是地址,则称这种地址为形式地址(A)
  • 形式地址结合寻址方式可以计算出操作数在存储器中的真实地址(称为有效地址(EA))
  • (A)表示地址为A的数值
    • A可以是寄存器编号
    • 也可以是内存单元地址
    • 对应的(A)就是寄存器中的数值(或相应内存单元的数值)
    • EA=(A)表示有效地址EA就是A处保存的值
    • (EA)就表示操作数本身

指令寻址

  • 寻找下一条将要执行的指令地址称为指令寻址

    • 顺序寻址

    • 跳跃寻址

      • 如果发生跳跃,跳跃结果是当前指令修改PC值,所以下一条指令依然是通过PC给出
      • 但是PC中的值可能不再是默认+1的结果

数据寻址

  • 寻找本条指令的(操作数)数据地址称为数据寻址

    • 在指令中表示一个操作数的地址

    • 并且如何用这种表示,得到操作数或者如何计算出操作数的地址

      • 将地址码字段进一步划分为寻址特征形式地址

      • OP操作码寻址特征形式地址A\begin{array}{|c|c|c|c|} \hline OP操作码&寻址特征&形式地址A\\ \hline \end{array} OP操作码​寻址特征​形式地址A​​

隐含寻址

  • 不明显地给出操作数地址
    • 在指令中隐含操作数地址
  • 特点:
    • 缩短指令长度
    • 需要增加存储操作次数或者隐含地址的硬件

立即数寻址

  • 这种类型的指令的地址字段指出的不是操作数地址,而是操作数本身,又称为立即数
  • 特点:
    • 指令在执行阶段不访问主存,指令执行时间最短
    • 缺点是位数限制了立即数的范围

直接寻址

  • 指令中的形式地址A是操作数的真是地址EA
    • 即EA=A
  • 特点:
    • 简单(在执行阶段仅需要访问一次主存,不需要专门计算操作数的有效地址)
    • A的位数决定了指令操作数的寻址范围,操作数的地址不易修改

间接寻址

  • 相对于直接寻址而言的
  • 设操作数为xxx
  • EA=(A)EA=(A)EA=(A)
  • x=(EA)=((A))x=(EA)=((A))x=(EA)=((A))
  • 如果是2次间接寻址,那么:
    • EA=((A))
    • x=(EA)=(((A)))x=(EA)=(((A)))x=(EA)=(((A)))
  • 依次类推
  • 特点
    • 间接寻址可以扩大寻址范围
    • 形式地址A的位数往往比有效地址位数更少
    • 但是自行阶段需要多次访存
      • 每多1次间址,就需要多访存一次(根据存储字的最高位确定访问次数)
      • 这是非常坏的,效率很低

寄存器寻址

  • 指令字中直接给出操作数所在寄存器编号
    • EA=RiEA=R_iEA=Ri​(RiR_iRi​表示编号为i的寄存器,可以将RiR_iRi​理解为地址,而且是可以高速访问的地址)
    • x=(EA)=(Ri)x=(EA)=(R_i)x=(EA)=(Ri​),RiR_iRi​寄存器中的内容就是操作数xxx
  • 特点:
    • 指令在执行阶段不需要访存只访问寄存器
      • 因为寄存器数量少,对应的地址码(寄存器编号)长度较小,使得指令字短,不需要访存
      • 支持向量/矩阵运算
    • 但是,寄存器价格高,寄存器的数量有限

寄存器间接寻址

  • 在寄存器RiR_iRi​给出的表示操作数本身,而是操作数所在主存单元的地址

    • EA=(Ri)EA=(R_i)EA=(Ri​)

    • x=(EA)=((Ri))x=(EA)=((R_i))x=(EA)=((Ri​))

  • 特点

    • 相比于一般间接寻址的速度快(第一次访问的地址是寄存器,速度快)
    • 指令执行阶段需要访问主存

相对寻址

  • 将PC中的内容加上指令格式中的形式地址A ,形成操作数的有效地址EA
    • EA=(PC)+AEA=(PC)+AEA=(PC)+A
    • A是相对于当前指令地址的位移量
  • 从公式上看,容易理解,A的位数决定了操作数的范围

基址寻址

  • 将cpu中的基址寄存器BR的内容加上指令格式中的形式地址A形成的操作数有效地址EA

    • EA=(BR)+AEA=(BR)+AEA=(BR)+A
    • BR可以采用专用寄存器或者通用寄存器实现
  • 特点

    • 基址寄存器BR是面向操作系统的
      • 内容有操作系统/管理程序确定
        • 采用通用寄存器作为BR时,虽然用户可以决定哪个GPR作为BR,但是内容依然有操作系统决定
      • 主要是用来解决程序逻辑空间存储器物理空间的无关性
      • 程序执行过程中,BR的内容不变(作为基地址)
      • 形式地址可以变(作为偏移量)
    • 优点:
      • 可扩大寻址范围
        • BR的位数大于形式地址A的位数
      • 用户不必考虑苏自己的程序存于主存的哪个空间区域,有利于多道程序设计
        • 可以编制浮动程序,但偏移量(形式地址A)位数较短

变址寻址

  • EA=(IX)+AEA=(IX)+AEA=(IX)+A
    • 变址寄存器IX(index Register)
  • 特点:
    • 变址寄存器面向用户
    • 在程序执行过程中,IX的内容可以作为偏移量,由用户改变
      • 偏移量的位数足以表示整个存储空间
    • 形式地址A不变(和基址寻址特点相反)
    • 也可以扩大寻址范围
    • 便于编制循环程序

堆栈寻址

  • 堆栈是存储器(寄存器组)中一块特定的,按照后进先出(LIFO)的原则管理的存储区
  • 该存储区中读写单元的**地址(指针)**是用一个特定的寄存器给出
    • 该寄存器称为堆栈指针
  • 寄存器堆栈又称为硬堆栈
    • 成本高
  • 从主存中划分一段区域来做堆栈称为软堆栈(比较常用)
  • 在采用堆栈结构的计算机系统中,大部分指令表面上都表现为无操作数指令心事
    • 应为操作数地址都隐含使用了SP
    • 通常,在读写堆栈中的一个单元的前后,都便有自动完成对SP内容的增量/减量操作

小结

  • 寻 址 方 式 有 效 地 址 访  存 次 数 隐含寻址 程序指定 0立即寻址 A即是操作数 0直接寻址 EA=A1一次间接寻址 EA=(A)2寄存器寻址 EA=Ri0寄存器间接一次寻址 EA=(Ri)1相对寻址 EA=(PC)+A1基址寻址 EA=(BR)+A1变址寻址 EA=(IX)+A1\begin{array}{c|c|c} \hline \text { 寻 址 方 式 } & \text { 有 效 地 址 } & \text { 访 } \text { 存 次 数 } \\ \hline \text { 隐含寻址 } & \text { 程序指定 } & 0 \\ \hline \text { 立即寻址 } & \mathrm{A} \text { 即是操作数 } & 0 \\ \hline \text { 直接寻址 } & \mathrm{EA}=\mathrm{A} & 1 \\ \hline \text { 一次间接寻址 } & \mathrm{EA}=(\mathrm{A}) & 2 \\ \hline \text { 寄存器寻址 } & \mathrm{EA}=\mathrm{R}_{i} & 0 \\ \hline \text { 寄存器间接一次寻址 } & \mathrm{EA}=\left(\mathrm{R}_{i}\right) & 1 \\ \hline \text { 相对寻址 } & \mathrm{EA}=(\mathrm{PC})+\mathrm{A} & 1 \\ \hline \text { 基址寻址 } & \mathrm{EA}=(\mathrm{BR})+\mathrm{A} & 1 \\ \hline \text { 变址寻址 } & \mathrm{EA}=(\mathrm{IX})+\mathrm{A} & 1 \\ \hline \end{array}  寻 址 方 式  隐含寻址  立即寻址  直接寻址  一次间接寻址  寄存器寻址  寄存器间接一次寻址  相对寻址  基址寻址  变址寻址 ​ 有 效 地 址  程序指定 A 即是操作数 EA=AEA=(A)EA=Ri​EA=(Ri​)EA=(PC)+AEA=(BR)+AEA=(IX)+A​ 访  存 次 数 001201111​​

相关内容

热门资讯

央行:加强房地产金融宏观审慎管... 近日,中国人民银行发布了《中国金融稳定报告(2025)》。报告提出,下一步,中国人民银行将继续认真贯...
欣旺达:子公司被起诉,涉案金额... 欣旺达12月26日公告,子公司欣旺达动力作为被告于12月25日收到浙江省宁波市中级人民法院送到的民事...
阿尔及利亚立法认定法国殖民是“... 【文/观察者网 陈思佳】据美联社12月25日报道,阿尔及利亚议会24日通过一项法案,正式将法国在阿尔...
汇金股份(300368)披露提... 截至2025年12月26日收盘,汇金股份(300368)报收于14.75元,较前一交易日下跌0.07...
长沙婚姻家事律师 + 刑事辩护... 在长沙生活或工作中,若遭遇婚姻家事纠纷,如离婚财产分割、抚养权争议或刑事风险,如涉嫌犯罪被调查、面临...
央行最新发布,跨国公司迎政策利... 跨国公司跨境资金管理便利化迈出新步伐。 12月26日,中国人民银行、国家外汇管理局联合发布关于跨国公...
汉马科技(600375)披露公... 截至2025年12月26日收盘,汉马科技(600375)报收于5.87元,较前一交易日下跌3.93%...
吉利旗下威睿公司起诉欣旺达动力... IT之家 12 月 26 日消息,欣旺达电子股份有限公司今日发布公告,公司的子公司欣旺达动力于 20...
网购“10-9”枚卤蛋实得1枚... 极目新闻记者 张皓 河南一名大学生日前发视频称,他网购卤蛋时,商品页面标注的是“10-9枚”,他支付...
文投控股:因与索宝公司合同纠纷... 观点网讯:12月25日,文投控股公告披露,公司因与索宝(北京)国际影业投资有限公司的合同纠纷被诉,涉...