当前位置: > 财经>正文

计组(五)指令系统设计 信托的操作流程例子有哪些

2023-08-05 11:10:01 互联网 未知 财经

计组(五)指令系统设计

文章目录 一、指令系统设计1.字指令(依据字的个数分)(1)单字指令和双字指令(2)bit0~bit7指令寻址方式字段 2.操作数指令(依据操作数的个数分)(1)双操作数指令(2)单操作数指令(3)转移指令(4)无操作指令 3.具体的指令(1)双操作数指令(2)单操作数指令(3)转移指令(4)无操作数指令 二、指令时序1.概念2.时序控制方式(1)同步控制(2)异步控制(3)联合控制 三、指令执行过程分析1.取指令操作码(取指)2. 译码取操作数(1)检测指令(2)转移指令(3)双操作数指令(4)单操作数指令 3.指令执行 四、微指令控制域1.水平微指令(1)直接表示法(2)字段译码法(字段编码) 2.垂直型微指令3.比较 五、微指令的设计1.设计2.例子 六、微操作和微命令1.微操作和微命令(1)取指令码周期(取指)FIC(2)取操作数周期(取数)FDC(3)执行周期(执行)EXEC 六、例题1.搞清问题2.例题(1)ADD指令(2)SUB BX,100(DI)(3)INC指令

一个字节:8位 一个字:16位

【微操作、微命令、微指令、微程序】 一条指令的执行过程可以分解为若干更微小的基本操作,并称这种基本操作为微操作。 控制完成微操作的命令称为微命令。 能够产生一个或多个微命令的二进制编码就称为微指令。 通过将完成一条机器指令的一系列微指令存入存储器中,然后再按顺序依次读出执行,从而完成指令的功能。并称这些完成机器指令功能的一系列微指令构成的程序称为微程序。

一、指令系统设计 1.字指令(依据字的个数分) (1)单字指令和双字指令

在要设计的CPU中,指令有两种格式:单字指令和双字指令两种(在这里规定一个字为二进制16位)。即有的指令只用一个字构成,而有的指令则需两字构成。

单字指令:该指令由一个字组成(一行)双字指令:该指令由两个字组成(两行) (2)bit0~bit7指令寻址方式字段

从指令表示上:bit3决定是单字指令还是双字指令。 从指令作用上:寻址方式决定是单字指令还是双字指令。

寄存器寻址和寄存器间接寻址的指令只需一个字即可构成; 而立即寻址、直接寻址、相对寻址和变址寻址则需要两个字,其中一个字用来表示操作码及寻址方式,另一个字表示立即数、直接地址或偏移量。

单字指令: ①寄存器寻址; ②寄存器间接寻址;双字指令: ③立即寻址; ④直接寻址; ⑤相对寻址; ⑥变址寻址。

例子:

单字指令: 若指定两个操作数的ADD加法指令的操作码字段为00000001,则指令:ADD AX,[ SI]是一条寄存器间接寻址的单字指令,它由16位二进制编码。00000001 10000110组成(1000表示AX是目的地址,0110表示[SI])。

双字指令: 若指令: ADD AX,[2000H]是一条直接寻址的双字指令,该指令由两个16位的字组成,一个为指令码字、一个为直接地址: 00000001 10001001 为指令操作码字 00100000 00000000 为直接地址字

2.操作数指令(依据操作数的个数分)

(1)双操作数指令

双操作数指令的指令操作码字前缀为0000。

ADD AX,[ SI]ADD AX,[2000H] (2)单操作数指令

单操作数指令的指令操作码字为0000 1110。

INC [BX] 假如规定加1指令INC的操作码为00001110 0001,[BX]是0101,则其指令码为:00001110 00010101。INC [DI+1000H] 00001110 00011101 为指令操作码字 00010000 00000000 为偏移量字 (3)转移指令

转移指令的指令操作码字为0000 1111。

(4)无操作指令

无操作指令的指令码前缀是0000 1111 1111.

3.具体的指令 (1)双操作数指令

双操作数指令设置有: 传送指令(MOV) 与指令(AND) 减法指令(SUB) 带进位加法指令(ADC) 带进位减法指令(SBC) 比较指令(CMP) 乘法指令(MUL) 除法指令(DIV) 加法指令(ADD) 或指令(OR) 异或指令(XOR)

(2)单操作数指令

单操作数指令设置有: 调用子程序指令(CALL) 加1指令(INC) 减1指令(DEC) 压入堆栈指令(PUSH) 弹出堆栈指令(POP) 取反指令(NOT) 左移指令(SHL) 逻辑右移指令(SHR) 算术右移指令(SAR) 小循环左移指令(ROL) 小循环右移指令(ROR) 大循环左移指令(RCL) 大循环右移指令(RCR)

(3)转移指令

尽管这类指令也是单操作数指令,在这里单独列出。设置指令有: 无条件转移指令(JMP) 零转移指令(JZ) 非零转移指令(JNZ) 有进位转移指令(JC) 无进位转移指令(JNC) 大于转移指令(JG) 大于等于转移指令(JGE) 高于转移指令(JA) 高于等于转移指令(JAE)

显然,在上述条件转移中,JC、JNC、JA、JAE是用于无符号数;而JG、JGE则用于带符号数。

(4)无操作数指令

无操作数指令主要有: 子程序返回指令(RET) 中断返回指令(IRET) 空操作指令(NOP) 关中断指令(CLI) 开中断指令(STI) 软件中断指令(SWI) 十进制校正指令(DAA)

二、指令时序 1.概念

指令时序是用来控制程序怎么遵从时间有秩序地执行。

指令周期: CPU从头到尾执行一条指令所用的时间称为指令周期。机器周期(CPU周期或总线周期): 把CPU通过系统总线对内存的一次读或写称为一个机器周期。 指令周期可以分为三个阶段机器周期:取指令操作码(取指)、指令取操作数(取数)和执行指令(执行).时钟周期(节拍周期) 机器周期的进一步细分: 机器周期是由时钟激励完成的,不同的机器周期所需时钟周期数是不一样的。

PS: 若是一条无操作数指令,则不需要取操作数,CPU将直接进入执行周期。 若有操作数,不管是一个还是两个,则进入取操作数的周期。

2.时序控制方式

指令时序怎么设计和执行,就是时序控制方式。(将如何根据不同指令形成不同系列控制信号所采用的控制方式称为时序控制方式)

(1)同步控制

同步控制 指令执行或指令中每个控制信号都由事先确定的统一的时序信号进行统一控制。

①定长的机器周期,定长的指令周期 如每条指令都有3个机器周期,每个机器周期都有4个时钟周期。因此,每条指令的执行时间都是12个时钟周期。②定长的机器周期,变长的指令周期 机器周期的长度(时钟周期)是固定不变的,而指令可以由一个二个、三个或

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。