【计组】-- 指令系统(3) : 指令类型


一台计算机的指令系统可以有上百条指令,按其功能分为以下几类

  • 数据传送类指令
  • 运算类指令
  • 程序控制类指令
  • 输入输出指令


数据传送类

数据传送类指令是最基本的指令类型,主要用于实现寄存器与寄存器之间、寄存器与主存之间、主存单元之间的数据传送

数据传送类



运算类指令

运算类指令



程序控制类指令

程序控制类指令



输入输出类指令

通常分为两种方式:独立编址方式和统一编址方式


  • 独立编址的I/O

独立编址方式使用专门的输入/输出指令(IN/OUT)。以主机为基准,信息由外设传送给主机称为输入,反之称为输出。指令中应给出外部设备编号(端口地址)。这些端口地址与主存地址无关,是另一个独立的地址空间


  • 统一编址的I/O

所谓统一编址就是把外设寄存器和主存单元统一编址。在这种方式下,不需要专门的I/O指令,就用一般的数据传送类指令来实现I/O操作。一个外部设备通常至少有两个寄存器:数据寄存器和命令与状态寄存器。每个外设寄存器都可以由分配给它们的唯一的主存地址来识别,主机可以像访问主存一样去访问外部设备的寄存器

### 算机成原理中的指令系统寻址方式 #### 指令寻址的概念 找到下一条将要执行的指令地址的过程被称为指令寻址。通常情况下,指令按照顺序存储在主存中,在程序执行期间,这些指令会从内存单元取出并加载到指令寄存器(IR)中[^2]。 #### 基本寻址模式 为了支持不同的编程需求和优化访问效率,现代算机提供了多种基本寻址模式: - **立即寻址**:操作数直接作为指令的一部分给出,不需要额外的访存动作即可获得实际的操作数值。 - **直接寻址**:指令中包含有操作数的有效地址,CPU可以直接通过该地址获取所需数据。 - **间接寻址**:指令提供的是指向有效地址的一个指针变量的位置;需先读取此位置的内容得到真正的目标地址再进行后续的数据读写操作。 - **相对寻址**:基于当前正在执行的指令所在位置加上偏移量来算目的地址,常用于实现分支跳转等功能。 - **基址加变址寻址**:由一个固定的基底地址(Base Address)与另一个可变化的索引值相加以形成最终的目标地址,适用于数或表格类数据结构的遍历。 #### RISC架构下的特点 对于精简指令(RISC),其指令格式较为简单统一,长度固定,各部分的位置及位宽也保持一致,这使得编解码过程更为简便高效。当面对较短的指令字长时,则可以采用操作码扩展的技术手段以容纳更多种类的操作命令[^3]。 ```assembly ; 示例汇编代码展示不同类型的寻址方式 MOV AX, [BX+SI] ; 基址加变址寻址 JMP SHORT LABEL ; 相对寻址 (短距离跳跃) CALL DWORD PTR [FUNCTION] ; 间接寻址调用函数 ADD EAX, IMMEDIATE_VALUE ; 立即寻址给EAX累加器增加一个立即数 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值