编辑: wtshxd 2013-06-07

3 设计指令 3.1指令系统 指令系统各功能如下表所示: 指令助记符 指令功能 指令编码 微周期 微操作 取指微指令 T0: PC→地址总线→RAM RAM→数据总线→IR1 ADD A,R0 ADD A,R1 ADD A,R2 ADD A,R3 vAw+vRiw →A 0C 0D 0E 0F T0: T1: T2: T3: A→数据总线→DR1 Ri→数据总线→DR2 ALU →数据总线 →A、置Y 取指微指令 MOV A, R0 MOV A, R1 MOV A, R2 MOV A, R3 〔Ri〕→A 3C 3D 3E 3F T0: T1: Ri→数据总线→A 取指微指令 MOV R0,A MOV R1,A MOV R2,A MOV R3,A (A) →Ri 4C 4D 4E 4F T0: T1: A→数据总线→Ri 取指微指令 MOV A,#data Data→Ri 5F T0: T1: 取指微指令→数据总线→A 取指微指令 STA addr (A) →addr 8F T0: T1: T2: RAM→数据总线→IR2 IR2→地址总线,A→RAM 取指微指令 JZ addr A=0, Addr→PC B3 T0: T1: 条件成立:RAM→PC 取指微指令 JC addr Cy=0, Addr→PC B7 T0: T1: 条件成立:RAM→PC 取指微指令 JMP addr Addr→PC BF T0: T1: RAM→PC 取指微指令 HALT 停机 FF T0: 停机 指令类型有五种,分别为算术/逻辑运算类指令、移位操作指令、数据传送指令、程序跳转类指令、存储器操作指令. 算术/逻辑运算类指令包括表格中的ADD、SUB. 移位操作指令包括表格中的RRC、RRL. 数据传送指令包括表格中的MOV. 程序跳转类指令包括表格中的JMP、JZ、JC、JN. 存储器操作类指令包括表格中的LDA、STA. 3.2指令格式

1 直接地址寻址 例如,双字节指令: LDA addr (addr)->A STA addr (A)->addr 第 1字节 操作码 I7 I6 I5 I4 I3 I2 I1 I0 第2字节操作数地址 A7 A6 A5 A4 A3 A2 A1 A0

2 寄存器直接寻址 指令字节中含有寄存器选择码,决定选哪个寄存器进行操作. 例如单字节指令: MOV A,Ri (Ri)->A 单字节 I7 I6 I5 I4 I3 I2 I1 I0 操作码与Ri选择码 例如双字节指令: MOV Ri,#data data->Ri 第 1字节 操作码及Ri选择码 I7 I6 I5 I4 I3 I2 I1 I0 第2字节data A7 A6 A5 A4 A3 A2 A1 A0 3寄存器间接寻址 例如,单字节指令: MOV A, @Ri (Ri)->A Ri选择码 I7 I6 I5 I4 I3 I2 I1 I0 操作码 4立即数寻址 MOV A,#data data送到A MOV Ri,#data data Ri 第 1字节 操作码及Ri选择码 I7 I6 I5 I4 I3 I2 I1 I0 第2字节data A7 A6 A5 A4 A3 A2 A1 A0

4 设计微程序及其微程序实现方法 在实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多有24个微操作控制信号,可由微代码直接实现.如果采用多组编码译码,那么24位微代码通过二进制译码可实现 2n个互斥的微操作控制信号.由于模型机的指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式.在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0到MD7,这种方法称为"按操作码散转",如下表所示: 按操作码散转 指令操作码 微程序首地址 MD7.MD6 I7 I6 I5 I4 MD1.MD0 MD7~MD6

0 0

0 0

0 1 003H

0 0

0 0

1 1 007H

0 0

0 1

0 1 00BH

0 0

0 1

1 1 00FH

0 0

1 0

0 1 013H

0 0

1 0

1 1 017H

0 0

1 1

0 1 01BH

0 0

1 1

1 1 01FH

0 1

0 0

0 1 023H

0 1

0 0

1 1 027H

0 1

0 1

0 1 02BH

0 1

0 1

1 1 02FH

0 1

1 0

0 1 033H

0 1

1 0

1 1 037H

0 1

1 1

0 1 03BH

0 1

1 1

1 1 03FH 每条指令由不超过4条的微指令组成,可根据下表组成每条微程序的首地址. 微程序首地址形成 MD7 MD6 MD5 MD4 MD3 MD2 MD1 MD0

0 0 I7 I6 I5 I4

1 1 微指令的运行顺序为下地址确定法,即采用计数增量法,每条微指令执行过后微地址自动加1,指向下一条微指令地址.微地址寄存器由2片74LS161组成,在模型机停止状态下,微地址被清0.当实验平台开始运行时,微地址从00H开始运行,且00H放置第一条指令,根据程序开始地址从内存中读出第一条指令,如下表所示:

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题