计算机组成原理 设计指令系统,计算机组成原理设计指令系统.doc

摘要

本次计算机组成原理课程设计课题是基本模型机的设计与实现。利用CPU与简单模型机来实现计算机组成原理课程设计,编写指令的应用程序,用微程序控制器实现一系列的指令功能,最终达到将理论与实践相联系。本次设计完成了相关指令的格式以及编码的设计,实现了机器指令微代码,完成具有一定功能的程序。

在基本模型机的基础上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移指令等8个功能的指令,这些指令的助记符不得与指导书上相同。指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。利用新构建的指令系统编程,实现交换两存储单元数据的功能。

关键字:指令系统,寻址方式,算术逻辑

目录

摘要1

目录2

1系统分析4

1.1 设计背景4

1.2 设计目标6

2系统设计7

2.1 模型机的指令系统设计7

2.2 模型机的微指令设计8

2.3实现除法功能的程序设计11

3系统实现13

4总结16

5参考文献17

1系统分析

1.1 设计背景

一台计算机所能执行的各种指令集合称为指令系统或指令集。一台特定的计算机只能执行自己指令系统中的指令。因此,指令系统就是计算机的机器语言。指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。指令系统的设计主要括指令功能、操作类型的设计,寻址方式和指令格式的设计。

计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属性,而指令系统的设置又与机器的硬件结构密切相关。指令是计算机执行某种操作的命令,而指令系统是一台计算机中所有机器指令的集合。通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。

本课程设计的模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数,指令码的最低两位用来选择R0-R3寄存器。在微程序控制方式下,用指令码作为微地址来寻址微程序存储器,找到执行该指令的微程序。在本模型机中,一条指令最多分为四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制寄存器的输入输出,选择运算器的运算功能,存储器的读写。

简言之,这次设计,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序,一条微程序又有若干微指令组成,一条微指令的功能由24位操作信号(即控制位)实现。

本设计是在DJ-CPT816计算机组成原理实验仪和仿真软件上进行的

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打入允许,与指令寄存器的IR2.,IR3位结合,控制程序跳转。

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

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

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

STEN:将数据总线DBUS上数据存到堆栈寄存器里

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

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

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

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

X2,X1,X0三位组合来译码选择将数据送到DBUS上的哪个寄存器,见表1

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

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

S2,S1,S0三位组合决定ALU做何种运算,见表2

表1 选择具体的寄存器

X2 X1 X0输出寄存器0 0 0IN_OE 外部输入门0 0 1IA_OE 中断向量0 1 0ST_OE 堆栈寄存器0 1 1PC_OE PC寄存器1 0 0D_OE 直通门1 0 1R_OE 右移门1 1 0L_OE 左移门1 1 1没有输出

表2 ALU运算

S2 S1 S0功能

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值