计算机系统原理实验:模型机(一)设计与架构

写在前面:这个实验很难,即便我当初做完了CPU实验,而且自认为做的很不错,但仍旧感觉很难。
所以,这个实验和CPU实验一样,我会做很多期,希望能够比较详细的讲完怎么做。当然,如果有错误或者有不理解的地方,欢迎私信我或者评论。

一、设计内容

模型机与程序运行试验是一个综合性整机实验。该模型机包含7条机器指令,它能够依照用户执行微程序完成由加、与、非运算以及数据组合的任意复合运算。用户测试程序可以通过内存初始化的方式存储在内存中,也可以通过强迫写的方式循环写入内存。
这里我采用分模块整合法,此整机实验,由节拍脉冲、数据通路、微程序控制器、数码管显示4个模块组成。运算器、存储器、数据通路及微程序控制器中的时钟脉冲必须与时序电路相连。

1.以下为参考顶层电路

在这里插入图片描述
在这里插入图片描述

2.设计指令表如下

在这里插入图片描述
在这里插入图片描述

二、详细设计

在这里插入图片描述

3.1设计的整体架构

总共大大小小有10个元件,其中有书上所指示的,也有我自己设计的(如ir),通过这11个元件相互之间的配合和时序上的整合,实现7个机器指令的实现(由于我实现的比较早,所以我在犹豫要不要实现其他的机器指令,如sub)。其中有多种信号。
其中clk是执行模块(包括控制器和数据通路)的时钟输入信号,clock是显示模块的时钟输入信号,clr、krd、kwe是控制器的控制输入信号,tj、dp、qd是节拍(时序电路)的控制输入信号,k是数据输入信号,其他所有的信号均为输出信号,用来检测是否运行正确以及下载后控制数码管显示数据。注意寄存器的初值已经在编写的时候输入到了寄存器的mif文件中,在后续的演示中除了想要增加,不需要人为输入。
在检测的时候主要观察ir7~ir6信号(指令信号),p信号(总使能信号),rr5信号(r5寄存器数据输出信号),pc信号(计数器数据输出信号),bus信号(总线数据输出信号),ao信号(ar寄存器数据输出信号)。
运行的时候以每4个时钟脉冲周期为一个微指令周期,多个微指令周期为一个机器指令周期,实现一个机器指令。
在这里,我是严格按照书上的要求设计的时钟信号,只是在显示模块的时候加入了一个新的时钟信号,用来控制持续显示而不是频闪。
未完待续

发布了275 篇原创文章 · 获赞 160 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_40851744/article/details/104844537
今日推荐