模型机CPU设计——设计的整体架构(1)

一、设计目的
完整、连贯地运用《数字逻辑》所学到的知识,熟练掌握 EDA 工具基本使用方法,为 学习好后续《计算机原理》课程做铺垫。

二、设计内容
① 按照给定的数据通路、数据格式和指令系统,使用 EDA 工具设计一台用硬连线逻 辑控制的简易计算机;
② 要求灵活运用各方面知识,使得所设计的计算机具有较佳的性能;
③ 对所设计计算机的性能指标进行分析,整理出设计报告。
④ 设计出各个部分的分部件,包括:
时序部件:函数发生器,指令寄存器,C寄存器,Z寄存器,PC寄存器,时钟SM,寄存器组
组合部件:指令译码器,控制器,位移逻辑,选择器。
发挥自己的设计能力和想象力,设计出合理的计算机系统。

三、 详细设计
3.1设计的整体架构
(1)指令周期与工作脉冲设置
本设计采用串行工作方式,即“读取—执行—再读取—再执行……”,在一个SM时钟周期内

(2)数据格式
数据字采用 8 位二进制定点补码表示,其中最高位(第 7 位)为符号位,小数点可视为 最左或最右,其数值表示范围分别为:-1≤X<+1 或-128≤X<+127
(3)寻址方式
指令的高 4 位为操作码,低 4 位分别用 2 位表示目的寄存器和源寄存器的编号,或表 示寻址方式。共有 2 种寻址方式:
⑴ 寄存器直接寻址
当 R1 和 R2 均不是“11”时,R1 和 R2 分别表示两个操作数所在寄存器的地址(寄存器 编号),其中 R1 为目标寄存器地址,R2 为源寄存器地址。
⑵ 寄存器间接寻址
当 R1 或 R2 中有一个为“11”时,表示相应操作数的地址在 C 寄存器中。
(4)指令系统
指令系统有 16 条指令,具体格式见指令系统表。应该指出的是,各条指令的编码形式 可以多种多样。为了叙述方便,下面采用汇编符号对指令进行描述,其中 R1 和 R2 分别表 示“目标”和“源”寄存器,M 表示地址在寄存器 C 中的存贮单元。
(5)数据通路设计
计算机的工作过程可以看作是许多不同的数据流和控制流在机器各部分之间的流动在这里插入图片描述
整体构架如下:
在这里插入图片描述
整个系统由分部件构成,分部件之间通过导线连接,而各个分部件又实现各自的功能,同样包括时序部件和组合部件:
组合部件:
(1) 译码器:
功能:通过指令系统表设计一个由指令码映射到指令信号的译码器。对IR传送的机器码进行译码,产生相应的控制信号以及为下一个部件提供输入,其中指令码为8位二进制码,译码器的输出端为指令操作。
(2) 多路复用器:
功能:从多个输入:PC,寄存器输出A口,寄存器输出B口中选择一个输入,并将信息直接传输到RAM。
(3) 控制器:
功能:根据译码器传送来的输入,cf,cz标志以及IR传送来的输入产生各个分部件的控制信号,指导各个分部件工作。
(4) 移位逻辑:
移位逻辑需要实现 RSR、RSL左右移位操作,还需提供 MOVA、MOVB、ADD、SUB、OR、NOT 指令执行时,将数据传输至 BUS 总线的通路。
(5)函数发生器ALU
功能:
1从通用寄存器组中读取内容
2在 S3~ S0 和 M 的控制下,实现运算功能
3 ADD 和 SUB 加减法指令影响状态位 Cf和 Zf。
时序部件:
(1) 指令寄存器IR
功能:将总线上传送来的数据进行存储,并传送给下一个部件译码器
(2) cf和zf寄存器
功能:将c标志和z标志存储,并传送给部件控制器。
(3) PC寄存器:
功能:当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由RAM读取至指令寄存器IR中,此过程称为“取指令”,与此同时,PC中的地址自动加1。跳转指令如JMP、JZ、JC让程序跳转至指定地址去执行,这时PC需要装载跳转地址。
(4) 时钟SM
模型机中所有指令的执行都是一个周期完成取指令,一个周期执行指令。SM则用来区分当前周期是取指令还是执行
(5) 寄存器组:
寄存器具有快速读写的功能特点,而通用寄存器组则是实现的对三块寄存器的读写操作,根据控制信号对A,B,C寄存器实现读写,并将数据传送给ALU函数发生器
(6) RAM和稳定器
(1)RAM可以根据quartus直接生成LPM_RAM_IO,实现读外接文件mif的读写
(2)稳定器则用来配合RAM使用,处理因为RAM输出的数据不稳定问题。
整体设计展示:在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/weixin_44307065/article/details/103648245