南通大学计算机科学与技术学院
计算机组成原理课程设计
报 告 书
课 题 名 模型计算机的设计与实现
班 级 计123班 姓 名 流星雪雨 学 号
指导教师 顾辉 日 期
目录
1 设计目的....................................................................................................................................... 0 2 设计内容....................................................................................................................................... 0 3 设计要求....................................................................................................................................... 0 4 数据格式与指令系统 ................................................................................................................... 0
4.1 数据格式 ............................................................................................................................ 0 4.2 指令系统 ............................................................................................................................ 1 5 设计原理与电路图(包括总框图、微程序控制器的逻辑图、电路图和封装图) .................... 1
5.1 总的逻辑框图: ................................................................................................................ 1 5.2 微程序控制器: ................................................................................................................ 2
5.2.1 地址转移逻辑图 ..................................................................................................... 2 5.2.2 微程序控制器逻辑图 ............................................................................................. 2 5.3 PC计数器 ........................................................................................................................ 3 5.4 时序产生器 ........................................................................................................................ 3 5.5 总的逻辑组成图(运算器和存储器不再说明): ........................................................ 3
5.5.1 逻辑图及波形文件 ................................................................................................. 3 5.5.2 初始化数据 ............................................................................................................. 3
6 微程序流程图、代码表 ............................................................................................................... 4
6.1 微程序流程图: ................................................................................................................ 4 6.2代码表: ............................................................................................................................. 4 7系统调试情况 ................................................................................................................................ 5 8 设计总结与体会 ........................................................................................................................... 6 9 参考文献....................................................................................................................................... 6
1 设计目的
1.融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。
2.学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计和调试的实践和经验。
2 设计内容
1.根据给定的数据格式和指令系统,设计一台微程序控制的模型计算机。 2.根据设计图,在QUARTUS II环境下仿真调试成功。 3.在调试成功的基础上,整理出设计图纸和相关文件,包括: (1)总框图(数据通路图); (2)微程序控制器逻辑图; (3)微程序流程图; (4)微程序代码表; (5)设计说明书及工作小结。
3 设计要求
(1)对指令系统中的各条指令进行分析,得出所需要的占领周期与操作序列,以便确定各器件的类型和数量;
(2)设计总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所要求的数据通路都能实现,并满足技术指标的要求;
(3)检查全部指令周期的操作序列,确定所需要的控制点和控制信号; (4)检查所设计的数据通路,尽可能降低成本,简化线路,优化性能。 以上过程可以反复进行,以便得到一个较好的方案。
4 数据格式与指令系统
4.1 数据格式
数据字规定采用定点整数补码表示法,字长8位,其中最高位为符号位,其格式如下:
7 符号位 6 5 4 3 2 1 尾 数 4.2 指令系统
本实验设计使用5条机器指令,其格式与功能说明如下: IN ADD STA OUT JMP
7 6 0 0 0 1 1 0 1 1 0 0 5 1 0 1 0 1 4 0 0 0 0 0 3 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 A A A A IN指令为单字长(字长为8bits)指令,其功能是将数据开关的8位数据输入到R0寄存器。
ADD指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器的内容与内存中地址为A的数相加,结果存放在R0寄存器中。
STA指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器中的内容存储到以第二个字为地址的内存单元中。
OUT指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将内存中以第二个字为地址的内存单元中的数据读出到数据总线,显示之。
JMP指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是程序无条件转移到第二个字指定的内存单元地址。
5 设计原理与电路图(包括总框图、微程序控制器的逻辑图、电路图和封装图)
5.1 总的逻辑框图:
通过这个逻辑框图,可以看出整个模型机的设计主要是微程序控制器,PC计数器,时序产生器三个部分,然后再结合前面的设计好的控制器和存储器的部分,就可以设计好这个模型机的逻辑图。 微控制信号说明:
nROM_BUS:ROM数据输出到总线控制信号,低电平有效。 nRAM_BUS:RAM数据输出到总线控制信号,低电平有效。 m:加、减法选择控制信号,为1做加法,为0做减法。 nSW_BUS:数据输入到总线控制信号,低电平有效。 LDN:PC置数控制信号,低电平有效。
nCS:RAM片选信号。(此信号的有效值根据所用RAM器件特性来定) WE:RAM写信号,高电平时做写操作。
LDR0:数据打入R0锁存控制信号,脉冲上升沿有效。 LDDR1:数据打入R1锁存控制信号,脉冲上升沿有效。 LDDR2:数据打入R2锁存控制信号,脉冲上升沿有效。 LDIR:数据打入IR锁存控制信号,脉冲上升沿有效。 LDPC:数据打入PC锁存控制信号,脉冲上升沿有效。 LDAR:数据打入AR控制信号,脉冲上升沿有效。
nALU_BUS:运算器ALU结果输出到总线控制信号,低电平有效。 nPC_BUS,低电平有效。 nR0_BUS,低电平有效。
以下封装成的芯片的信号不再赘述。
5.2 微程序控制器:
5.2.1 地址转移逻辑图
封装成芯片:
对其生成波形文件如下:
由波形文件可以总结看出clr是总的清零端,当其为零时输出始终为0,当其为1时,逻辑地址转移器正常工作,T2,T4为脉冲控制端,上升沿有效。当PRN的控制端为1时,输入等于输出,当PRN的控制端为0时,输出始终为1,p1端则是指令的译码端,当其为1时,指令产生译码,根据指令的操作码来确定指令执行的第一条微指令的地址。当p1端为0时不译码,直接指向下一条微指令的地址。
5.2.2 微程序控制器逻辑图
封装成芯片: