[REV] Command System

标准构型:操作码 操作字段

操作数

在这里插入图片描述

指令格式分析

  1. 字长,操作数个数
  2. OP长度->指令空间
  3. 操作数指向寄存器/主存->R/S指令或者程序控制型指令:JMP
    在这里插入图片描述

寻址方式

立即寻址

操作数是立即数,直接读入.
在这里插入图片描述

隐含寻址

操作数在规定的寄存器中.

直接寻址

相当于一级指针,操作数是主存中的数据的地址.
数据在主存中.

间接寻址

相当于二级指针.
操作数是指针的地址.
需要经过两重寻址.
数据在主存中

寄存器寻址

VALUE=(Reg)

寄存器间接寻址

VALUE=*(Reg)
寄存器内放的是地址

基址/变址寻址

基址/变址寄存器
O P = 操 作 数 + 基 / 变 址 寄 存 器 OP=操作数+基/变址寄存器 OP=+/

相对寻址

用于访问大块连续内存区域
A d d r e s s = P C + O f f s e t Address=PC+Offset Address=PC+Offset
此时的PC是下一条指令的PC

堆栈寻址

…?
串联堆栈:一个序列的串联寄存器.

注意在有些时候(特指指令系统的题)设计命令时需要指名寻址方式字段.编码规则参照OP编码规则.

指令格式的设计

  1. OP定长/变长?HFM编码规则下的操作数位扩展(注意n位字段最多容纳 2 n − 1 2^n-1 2n1个OP,并且对于未填满的OP类型的最大化利用编排方式.)
  2. 操作码数量(0,1,2,3)?每种有几种OP?
  3. 寻址方式有几种?(见上)需要几位寻址方式指名字段?

为了扩展OP空间,考虑使用间接/变址/寄存器(间接)寻址.

CISC/RISC

MIPS

Type
Ref:https://www.wikiwand.com/zh-hans/MIPS架構

R-Type

形式为 R e g   O P   R e g → R e g Reg\ OP\ Reg\rightarrow Reg Reg OP RegReg
OP=0,操作方式由funct字段决定
shant:移位专用,对rt移位.

I-Type

r s + I m m → R e g ( r t ) rs+Imm\rightarrow Reg(rt) rs+ImmReg(rt)
rt为寄存器位置(编号)
Load/Store指令: R s + I m m = A d d r e s s Rs+Imm=Address Rs+Imm=Address
条件转移: R s   O P   R t → i f   ∗ ∗ ∗   J m p   I m m + P C Rs\ OP\ Rt\rightarrow if\ ***\ Jmp\ Imm+PC Rs OP Rtif  Jmp Imm+PC

J-Type

无条件转移
A d d r e s s = P C 高 4 位 + I m m &lt; &lt; 2 Address=PC_{高4位}+Imm&lt;&lt;2 Address=PC4+Imm<<2

寻址方式
  • R:寄存器寻址(一切操作都只和寄存器有关)
  • I:立即寻址(Imm),基址偏移(Load/Store),相对寻址(条件转移部分),寄存器寻址(Rt)
  • J:???

BTW

看样子只有静态存储器SRAM是基于行列的双译码结构.DRAM不是.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值