计算机组成微程序操作码怎么写,计算机组成原理课程设计(中央处理器--微程序控制器设计).doc...

计算机组成原理课程设计(中央处理器--微程序控制器设计)

“计算机组成原理”课程设计报告

微程序控制器的设计

一、设计思路

按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。从而可以想到如下指令:

(1)24位控制位分别介绍如下:

XRD : 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。

EMWR: 程序存储器EM写信号。

EMRD: 程序存储器EM读信号。

PCOE: 将程序计数器PC的值送到地址总线ABUS上。

EMEN: 将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。

IREN: 将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。

EINT: 中断返回时清除中断响应和中断请求标志,便于下次中断。

ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。

MAREN:将数据总线DBUS上数据打入地址寄存器MAR。

MAROE:将地址寄存器MAR的值送到地址总线ABUS上。

OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。

STEN: 将数据总线DBUS上数据存入堆栈寄存器ST中。

RRD: 读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。

RWR: 写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。

CN: 决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。

FEN: 将标志位存入ALU内部的标志寄存器。

X2: X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。

X1: 见16页表。

X0:

WEN: 将数据总线DBUS的值打入工作寄存器W中。

AEN: 将数据总线DBUS的值打入累加器A中。

S2: S2、S1、S0三位组合决定ALU做何种运算。

本实验还需用到的五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下:

助记符 机器指令码 说明

IN 0000 0000 “INPUT DEVICE”中的开关状态(R0

ADD addr 0001 0000 ×××× R0+[addr] (R0

STA addr 0010 0000 ×××× R0( [addr]

OUT addr 0011 0000 ×××× [addr] (BUS

JMP addr 0100 0000 ×××× addr(PC

其中IN为单字长(8位),其余为双字长指令,××××××××为addr对应的二进制地址码。

RAM写入、读出机器指令,并能启动程序执行,还须设计三个控制台操作微程序。

KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“0 0”时,按START微动开关,可对RAM连续手动读操作。

KWE):拨动总清开关CLR后,控制台开关SWB、SWA为“0 1”时,按START微动开关,可对RAM连续手动写操作。

RP):拨动总清开关CLR后,控制台开关SWB、SWA为“1 1”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。

SWB、SWA的状态来设置,其定义如下:

SWBSWA控制台指令00读内存(KRD)01写内存(KWE)11启动程序(RP)

(二)在实验中使用的模型机的微指令格式如下表给定,长度共24位。

其中最后六位uA0~uA5 为6位的下一条微指令的地址, 前面几位为直接控制字段,直接与相应的控制门连接,A,B,C为3个译码字段,分别由三个控制位译码出多位。其含义如下:

A字段B字段C字段151413选择121110选择987选择000000000001LDRi001RS-B001P(1)010LDDR1010010011LDDR2011011100LDIR100100P(4)101LOAD101ALU-B101110LDAR110PC-B110LDPC 控制位含义

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值