【课程设计】计算机组成与系统结构

article/2025/8/28 11:35:42

计算机组成与系统结构课程设计(2020.12)

保姆式教程

目录

  • 计算机组成与系统结构课程设计(2020.12)
          • 一、本课程设计的性质、目的、任务
          • 二、本课程设计的基本理论
          • 三、课程设计的主要内容
          • 四、微程序流程图(树形图)
          • 五、模型机微指令表
          • 六、机器指令程序的说明(微指令地址,指令码,助记符)
          • 七、结果
          • 八、存在的问题和体会
      • 先说第一部分:
      • 然后第二部分:

一、本课程设计的性质、目的、任务
二、本课程设计的基本理论
三、课程设计的主要内容
四、微程序流程图(树形图)
五、模型机微指令表
六、机器指令程序的说明(微指令地址,指令码,助记符)
七、结果
八、存在的问题和体会

有兴趣的可以先跟着老师发的讲解视频看一遍大致了解一下:link.

下面介绍做法:
先把老师发的两个check文件放在CMX16文件夹下,反正所有要运行的都得放在那里一起

有两个部分需要完成
一是微程序那里需要输入指令
二是指令系统那里需要输入相应的文字

先说第一部分:

(打开软件之前先确保是2.31版本)
1.先调入一个现有的模型机,用MXJ4.IS在这里插入图片描述
然后右键跳转到指定的微地址,这里用第一条sub指令举例子,
在这里插入图片描述

由题目规定
对应的微程序入口微地址为:11 0000 00000 ,即600H
所以第一条从600开始,点击确定之后
在这里插入图片描述
看实验报告里面的模型机微指令表,第一条sub指令含有三条命令,相应的操作在说明中已经标明,第一条的代码是 07 06 80(要注意后面输入的时候,0A可以只输入A,但是A0要打A0,懂我意思吧)

在这里插入图片描述
填到右下角这个框框里,点修改,可以顺便改一下注释。在这里插入图片描述
输入完代码之后,可以看左下角的打勾情况,对应微程序控制手册弄懂原理
(如果不想懂当我没说=.=)
在这里插入图片描述

然后第二部分:

在指令系统里面输入这一段,

SUB R0,R0 00 1
SUB R0,R1 01 1
SUB R0,R2 02 1
SUB R0,R3 03 1
SUB R1,R0 04 1
SUB R1,R1 05 1
SUB R1,R2 06 1
SUB R1,R3 07 1
SUB R2,R0 08 1
SUB R2,R1 09 1
SUB R2,R2 0a 1
SUB R2,R3 0b 1
SUB R3,R0 0c 1
SUB R3,R1 0d 1
SUB R3,R2 0e 1
SUB R3,R3 0f 1

在这里插入图片描述
在源程序里输入这一句:
在这里插入图片描述
运行一下子,第一条就弄好咯。

至于指令系统里面那一段是咋来的,因为4个寄存器,所以sub这一条,有16种情况,指令码有两位,第一位是根据题目里面所给的
在这里插入图片描述
第二位是根据题目所给的,寄存器所对应的编码
在这里插入图片描述
eg:第一条SUB R0,R0 00 1
对应 0000 0000 所以指令码是00

再在601的地方方输入相应的05 06 00

根据实验报告里要求写的模型机微指令表相应的代码,和指令系统的文字一路输进去

.
.
.

最后点打开,分别测试两个check20文件
在这里插入图片描述

如果不能运行的话,基本上就是代码那里出错了,可以多找几些别人的代码试试,我的放在下面:

微程序指令表:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

指令系统:
SUB R0,R0 00 1 ;两个寄存器相减0000 Rd-Rs→Rd
SUB R0,R1 01 1
SUB R0,R2 02 1
SUB R0,R3 03 1
SUB R1,R0 04 1
SUB R1,R1 05 1
SUB R1,R2 06 1
SUB R1,R3 07 1
SUB R2,R0 08 1
SUB R2,R1 09 1
SUB R2,R2 0a 1
SUB R2,R3 0b 1
SUB R3,R0 0c 1
SUB R3,R1 0d 1
SUB R3,R2 0e 1
SUB R3,R3 0f 1

ADD R0,R0 10 1 ;两个寄存器相加0001 Rd+Rs→Rd
ADD R0,R1 11 1
ADD R0,R2 12 1
ADD R0,R3 13 1
ADD R1,R0 14 1
ADD R1,R1 15 1
ADD R1,R2 16 1
ADD R1,R3 17 1
ADD R2,R0 18 1
ADD R2,R1 19 1
ADD R2,R2 1a 1
ADD R2,R3 1b 1
ADD R3,R0 1c 1
ADD R3,R1 1d 1
ADD R3,R2 1e 1
ADD R3,R3 1f 1

AND R0,R0 20 1 ;两个寄存器相与0010 Rd&Rs→Rd
AND R0,R1 21 1
AND R0,R2 22 1
AND R0,R3 23 1
AND R1,R0 24 1
AND R1,R1 25 1
AND R1,R2 26 1
AND R1,R3 27 1
AND R2,R0 28 1
AND R2,R1 29 1
AND R2,R2 2a 1
AND R2,R3 2b 1
AND R3,R0 2c 1
AND R3,R1 2d 1
AND R3,R2 2e 1
AND R3,R3 2f 1

DEC R0 30 1 ;将Rd值减1 0011
DEC R1 34 1
DEC R2 38 1
DEC R3 3C 1

CLR R0 40 1 ;将Rd清零 0100
CLR R1 44 1
CLR R2 48 1
CLR R3 4C 1

RL R0 50 1 ;Rd循环左移一位 0101
RL R1 54 1
RL R2 58 1
RL R3 5C 1

RRC R0 60 1 ;Rd带进位右移一位 0110
RRC R1 64 1
RRC R2 68 1
RRC R3 6C 1

MOV R0,R0 70 1 ;右寄存器传送到左寄存器 Rs→Rd 0111
MOV R0,R1 71 1
MOV R0,R2 72 1
MOV R0,R3 73 1
MOV R1,R0 74 1
MOV R1,R1 75 1
MOV R1,R2 76 1
MOV R1,R3 77 1
MOV R2,R0 78 1
MOV R2,R1 79 1
MOV R2,R2 7a 1
MOV R2,R3 7b 1
MOV R3,R0 7c 1
MOV R3,R1 7d 1
MOV R3,R2 7e 1
MOV R3,R3 7f 1

LDI R0,* 80 2 ;将指令中的立即数(第二字节)送入Rd 1000
LDI R1,* 84 2
LDI R2,* 88 2
LDI R3,* 8C 2

OUT IOH,R0 90 1 ;将寄存器R0数据写入到IOH Rs→i/o(数据开关)高字节 1001
OUT IOH,R1 91 1
OUT IOH,R2 92 1
OUT IOH,R3 93 1

LDA R0,* A0 3 ;[M] →Rd 1010
LDA R1,* A4 3
LDA R2,* A8 3
LDA R3,* AC 3

STA *,R0 B0 3 ;Rs→[M] 1011
STA *,R1 B1 3
STA *,R2 B2 3
STA *,R3 B3 3

JMP * C0 3 ;[M]→PC,即跳转到M所指单元 1100

JZ * D0 3 ;当Z=1时,跳转到M所指单元,否则继续执行 1101

JC * E0 3 ;当CY=1时,跳转到M所指单元,否则继续执行 1110

HALT “” F0 1 ;停机(总线锁定)

有什么不对的地方多多指教喔~


http://chatgpt.dhexx.cn/article/uMdTa7kE.shtml

相关文章

计算机组成与系统结构课程设计

课程设计题目 综合运用所学计算机原理知识,设计并实现具有以下16条指令的指令集结构的模型计算机: 编号 助记符 机器指令码 说明 0 SUB Rd,Rs 0000 RdRs Rd-Rs→Rd 1 ADD Rd,Rs 0001 RdRs RdRs→Rd 2 AND Rd,Rs 0010 RdRs Rd&Rs→Rd (Rd和…

计算机毕业设计、计算机课程设计怎么做?计算机设计1900套来帮你!

计算机毕业设计、计算机课程设计怎么做?计算机设计1900套来帮你! 人生做什么事都有套路,大学毕业设计、课程设计通常比较简单,大多数都是找个项目做参考,有的人随便抄一抄糊弄一下,只要查重,格…

pycharm 安装numpy包——超简单

非常简单的安装步骤,自己百试不爽哦,废话不多说直接上图按以下步骤进行即可 一、找到安装numpy的地方 file→settings→project interpreter,点击右侧的+号 二、进行numpy 安装 搜索框内手动输入numpy进行搜索,选中…

python 如何安装numpy库?

(我的微信:Kingsplusa,我总结了人工智能手推笔记和思维导图,欢迎一起进步学习。) 首先我们要找到python安装的位置 winR打开 进入以后输入: where python 找到安装目录后,找到Scripts文件…

python中Numpy包的安装及使用

*****安装 python (本文安装 python2.7) *****安装 pip (1)检查是否已安装pip 进入cmd命令窗口,输入 pip --version ,查看是否已安装pip,说明已安装了pip 否则,说明未安装pip 需要进入(2&am…

Python2.7中安装numpy包

前言 花了一个下午的时间才成功安装了numpy,血与泪的教训。记录一下踩的坑。 安装环境 系统: win10 Python版本: 2.7.9 IDE:Pycharm 踩坑过程 尝试一 在Pycharm的setting中安装numpy 1.20.2(最新版本&#xff09…

numpy安装过程

下载numpy库的详细方法 安装前提: 1、Python3.8安装完成并能够正常使用 2、下载相应的numpy安装包,.whl格式 安装详细步骤:* 首先,点击下面的链接进入numpy下载官网 链接地址:添加链接描述 进去之后,点击…

pycharm怎么安装numpy库

打开界面后,在File菜单中点击Settings选项 在弹出的窗口中点击project interpreter选项 找到并点击窗口左侧的号键 在搜索框中输入numpy,并点击上方第一个选项 点击底部最下方的install package按钮 当下方出现successfully字样时,就代表num…

numpy的安装以及学习

1.在pycharm解释器中安装numpy库 2.pip install numpy 3.conda install numpy (清华源:https://pypi.tuna.tsinghua.edu.cn/simple) Numpy的导入: import numpy as np numpy介绍 NumPy是一个开源的Python科学计算库&#xff…

Python安装numpy,matplotlib

NumPy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 Matplotlib可能Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输…

python numpy安装

一、python下的numpy安装方法 第一步:安装python,这里不做介绍。 第二步:打开cmd看python是否安装成功。 第三步:输入 python -m pip install -U pip 安装pip文件,pip文件一般在python安装包的script目录下。 第四步&a…

Windows下安装numpy

在看差分隐私的科普时,看到一篇文章,最后有用Laplace分布实现差分隐私的代码,所以就复制到PyCharm里运行了一下,运行时报错“没有numpy”(具体怎么说的我也忘了,是import numpy as np这句报错,p…

使用Pycharm安装numpy库

如何在Pycharm中安装numpy库?笔者使用的是PyCharm Community Edition 2020.2.1 第一步 打开Pycharm,在上方找到File,在打开的界面中找到Settings。或者直接使用CtrlAltS快捷键打开settings。 第二步 在左侧以此找到Project,Pytho…

numpy的下载与安装教程(windows系统)

Numpy介绍 NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多&a…

Numpy的简明安装

1)、安装Python3.4版本以上,因为这样会自带pip(包管理器的安装) 检查Python版本。 打开cmd,输入Python 现在我们可以知道Python的版本与位数,比如我的就是Python3.7,64位。 2)…

python安装及numpy的安装

因为对机器学习算法进行实战的话,python语言是必须的,所以前几天进行了安装和配置。说实话,相比较其他的编程语言的IDE来讲,python本身问题不大,但是因为要有很多的矩阵的计算,所以要安装numpy包&#xff0…

Python使用pip安装Numpy模块

环境 python版本:python-3.9.1 操作系统:Windows10 想要安装的模块:numpy 前提 使用pip安装模块,需要保证pip为最新版本。如果使用pip时出现问题提示: You should consider upgrading via the python -m pip …

python安装使用pip安装numpy

相信大家最近都在忙,因为到开学和上班的时候了,我最近也很忙,忙的快要流泪,这不是要考计算机三级了吗!买了好厚一本书,备战过程中,最近洗头一次掉了100根不止的头发,有点恐惧&#x…

Python教程:Numpy的安装

一、numpy简介 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- Numerical和Python。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务: 机器学习…

python如何安装numpy模块?

python安装numpy模块 python numpy安装思路第一次安装时的思路第一次安装时遇到的坑第二次安装的思路(快速安装避免踩坑) python numpy安装思路 在python3.X版本都自带有pip,什么是pip? pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载…