计算机组成原理课程设计
无需关注I3、I2因而I3、I2可为任意状态。
R0-B R1-B R2-B RS-B 0 0 0 1 RD-B 1 1 1 1 RI-B 1 1 1 0 I3 0 0 1 × I2 0 1 0 ×
2.4 时序分析
T1、T2、T3、T4为节拍控制端,本设计用了T4节拍控制端,当指令通过译码器P
(1)时,P(1)对操作码进行测试,通过节拍脉冲T4的控制,以便识别所要求的操作。
图2.3 时序信号图
TS1时进行微程序控制器控制,TS2时进行微指令寄存器控制,TS时控制LDIR、LDAR,TS4时对P(1)、P(2)、P(3)、P(4)、AR、LOPC、LDRi、LDDR1、LDDR2进行控制。
6
计算机组成原理课程设计
3 初步设计阶段
3.1 数据格式和机器指令描述
3.1.1 数据格式
本设计中所有需要处理的数据全部采用定点无符号整数表示,8个bit位,格式如下:
7 6 5 4 3 数值 2 1 0 数据的范围是0~28,即0~255。
3.1.2 机器指令描述 机器指令描述见下表。
表3-1 机器指令描述 指令 指令类别 名称 输 入 输 出 类 指 令 输入指令 7 6 5 指令格式 助记符 IN Rd 寻址方式 寄存器寻址 说明 IN→Rd 4 3 2 1 0 OP Rd 输出指令 OUT Addr 7 6 5 4 3 2 1 0 OP 7 6 5 4 3 2 1 0 Addr 存 储 器 访 问 指 令 取数指令 7 6 5 4 3 2 1 0 OP 直接寻址 [Addr]→LED-B LDA addr,Rd 直接寻址 [addr]→Rd 7 6 5 4 3 2 1 0 Addr 7
计算机组成原理课程设计
存数指令 7 6 5 4 3 2 1 0 STA Rs,addr 直接寻址 RS→[addr] OP Rs 7 6 5 4 3 2 1 0 Addr 寄存器间传送指令 无条件转移 7 6 5 4 3 2 1 0 MOV Rs,Rd OP Rs Rd 寄存器寻址 Rs→ Rd JMP addr 7 6 5 4 3 2 1 0 OP 立即寻址 Addr → PC 7 6 5 4 3 2 1 0 Addr 停机指令 STP 7 6 5 4 3 2 1 0 OP 程序到此处终止 算术加法指令 ADD Rs,Addr,Rd 7 6 5 4 3 2 1 0 OP Rs Rd 直接寻址 Rs+[Addr]→ Rd 7 6 5 4 3 2 1 0 Addr 逻辑与运算指令 7 6 5 4 3 2 1 0 AND Rs,Addr,Rd 直接寻址 Rs*[Addr]→ Rd OP Rs Rd 7 6 5 4 3 2 1 0 Addr 8
计算机组成原理课程设计
3.2 控制台微程序流程
3.2.1 公操作
对机器进行总清零CLR 1-0-1。
S3 S2 S1 S0 M CN 0 0 0 0 0 0 WE 0 A9 A8 1 1 NULL A 0 0 0 B 0 0 0 C 1 0 0 P(4) 选中P(4),通过译码形成入口地址。
3.2.2 强置写
形成入口地址后,执行写操作。
1.
S3 S2 S1 S0 M CN 0 0 0 0 0 0 NULL WE 0 A9 A8 1 1 A 1 1 0 LDAR B 1 1 0 PC-B C 1 1 0 LDPC (1)打开PC-B将数据送到总线上; (2)打开LDAR将数据从总线流到AR中; (3)打开LDPC,让自动加1的数据进入PC中。 2.
S3 S2 S1 S0 M CN 0 0 0 0 0 0 NULL WE 0 A9 A8 0 0 SW-B A 0 1 0 LDDR1 B 0 0 0 C 0 0 0 NULL (1)打开SW-B将数据送到总线上, (2)打开LDDR1将数据从总线流到DR1中。 3.
S3 S2 S1 S0 M CN 0 0 0 0 0 1 F=A WE 1 WE A9 A8 0 1 CE A 0 0 0 NULL B 1 0 1 C 0 0 0 NULL ALU-B (1)打开ALU-B将数据送到总线上,其间DR1中的数据相当于
在ALU中做F=A的运算;
9
计算机组成原理课程设计
(2)打开CE、WE置成01状态,将数据从总线流到主存相应地
址单元中,完成数据写操作。
3.2.3 强置读
形成入口地址后,执行写操作。 1.
S3 S2 S1 S0 M CN 0 0 0 0 0 0 NULL WE 0 A9 A8 1 1 A 1 1 0 LDAR B 1 1 0 PC-B C 1 1 0 LDPC (1)打开PC-B将数据送到总线上; (2)打开LDAR将数据从总线流到AR中; (3)打开LDPC,让自动加1的数据进入PC中。 2.
S3 S2 S1 S0 M CN 0 0 0 0 0 0 NULL WE 0 WE A9 A8 0 1 CE A 0 1 0 LDDR1 B 0 0 0 C 0 0 0 NULL (1)打开CE、WE置成00状态,将数据从主存送到总线上; (2)打开LDDR1将数据从总线流到DR1中。 3.
S3 S2 S1 S0 M CN 0 0 0 0 0 1 F=A WE 1 A9 A8 1 0 A 0 0 0 NULL B 1 0 1 ALU-B C 0 0 0 NULL NULL LED-B (1)打开ALU-B将数据送到总线上,其间DR1中的数据相当于
在ALU中做F=A的运算;
(2)打开LED-B,数据从总线流到输出单元,在数码管上显示
出来,完成数据读操作。
3.2.4 执行程序
形成入口地址后,开始执行程序。
10