计算机组成原理课程设计
(Ver 3.1)
计算机科学与工程学院
2007年7月
1、课程设计目的 ............................................................................................... 3 2、仪器设备 ....................................................................................................... 3 3、基于微控器的模型机设计部分 ................................................................... 3
3.1、设计步骤 ............................................................................................ 3 3.2、准备知识 ............................................................................................ 6 3.3、设计内容 .......................................................................................... 11
题目一:设计一个具有带进位加法和立即数寻址方式的模型机11 题目二:设计一个具有带进位加法和条件跳转的模型机 ........... 11 题目三:设计一个具有循环左移功能的模型机 ........................... 12 题目四:设计一个具有带借位减法和存储功能的模型机 ........... 13
4、可编程逻辑器件设计部分 ......................................................................... 14
4.1、设计步骤 .......................................................................................... 14 4.2、准备知识 .......................................................................................... 14 4.3、设计内容 .......................................................................................... 16
题目五:利用CPLD设计一个并行加法器 ................................... 16 题目六:阵列乘法器设计 ............................................................... 16 题目七:硬联控制器设计 ............................................................... 17
5、具有中断处理功能的模型机设计 ............................................................. 19
5.1、设计内容 .......................................................................................... 19 5.2、准备知识 .......................................................................................... 20 5.3、设计步骤 .......................................................................................... 23 6、课程设计任务及要求 ................................................................................. 27 7、考核办法 ..................................................................................................... 27 8、参考资料 ..................................................................................................... 27 9、附录 ............................................................................................................. 28
附录1(数据通路): .............................................................................. 28 附录2(系统连线参考图) .................................................................... 29 附录3(实验系统主要单元电路) ........................................................ 30 附录4(ispDesignEXPERT软件使用) ................................................ 35 VIII.把设计适配到Lattice器件中 ............................................................. 47
IX. 层次化操作方法 ....................................................................... 47
《计算机组成原理》课程设计
1、课程设计目的
通过对一个简单计算机的设计,对计算机的基本组成,部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,在此基础上完成一台基本计算机的组成设计,从而加深对理论课程的理解,锻炼学生的独立思考和动手能力。
2、仪器设备
硬件环境为PC-386以上微机,西安唐都科教仪器公司的TDN-CM+计算机组成原理实验台。软件环境采用WINDOWS操作系统,西安唐都科教仪器公司的TDN-CM+计算机组成原理实验软件。
3、基于微控器的模型机设计部分 3.1、设计步骤
设计一台完整的计算机,大致需按如下的顺序来考虑: (1) 确定设计目标
确定所设计计算机的功能和用途。
(2) 确定指令系统
确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式,并给出具体的编码,比如指令的操作码,地址码等的位数及各种编码的含义。
(3) 确定总体结构(寄存器、加法器、选择器的设置与数据通路的设计)
总体结构设计包含确定各部件设置以及它们之间的数据通路结构。在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。
对于部件设置,比如要确定运算器部件采用什么结构,控制器是微程序控制还是硬联控制等。
综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。
(4) 设计指令执行流程
数据通路确定后,就可以设计指令系统中每条指令的执行流程。
根据指令的复杂程度,确定每条指令所需要的机器周期数。对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。
(5) 确定微程序地址
确定后续微地址的形成方法,确定每个微程序地址及分支转移地址,画出微程序流程图。
(6) 微指令代码化
根据微指令格式,将微程序流程图中的所有微指令代码化。首先写出每个微地址以及该地址对应的微指令代码(共24位二进制信息),如下表所示:
其中:微地址表示控制存储器的地址,后面的24位表示微指令。
然后将每个微地址和对应的微指令转换成16进制,并写在一行,格式为:
$M********,前面2个‘*’表示该微指令的在微控制器中的地址,后面6个‘*’表示该微指令代码。如上述表中的四条微指令写成:
$M00018110:表示在控制存储器地址00h处的代码是018110h。 $M0101ED82:表示在控制存储器地址01h处的代码是01ED82h。 $M0200C048:表示在控制存储器地址02h处的代码是00C048h。 $M0300E004:表示在控制存储器地址03h处的代码是00E004h。
(7) 编写工作程序并代码化
编写测试用的工作程序(注:测试程序要能覆盖设计的所有指令),并写出内存映像,用二进制表示。然后代码化用16进制来表示,格式为:$P****,前面2个‘*’表示该内存的地址,后面2个‘*’表示该地址的
数据。例如:
$P0044:表示在内存地址00h处的数据是44h。 $P0146:表示在内存地址01h处的数据是46h。
(8) 联机操作文件的建立
为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为TXT,可用记事本来建立的,要求:
a、 测试用的工作程序排在文件的前面,每个内存地址及代码占一行; b、 微指令代码排在文件的后面,每个微地址及微指令代码占一行; 例如,下面是一个实验的文件(文件名:sample.txt):
$P0044 $P0146 $P0298 $M00018108 $M0101ED82 $M0200C050
(9) 连接实验线路
根据附录2的线路图连接模型机实验线路。
(10) 系统与PC机联机
实验系统安装有一个标准的DB型9针RS-232C串口插座,使用配套的串行通信电缆分别插在实验系统及PC机的串口,即可实现系统与PC机的联机操作。
(11) 下载工作程序和微程序
使用唐都软件将工作程序和微程序下载到实验箱的内存和控制存储器中。其中,自带电源线的实验箱用NCMP53软件,启动软件后使用F4[装载]进行下载;外接电源线的实验箱用CMPP软件,启动软件后在菜单中选择[转储]/[装载]进行下载。
(12) 调试(调试时用的测试数据要包括普通数据及临界点数据) 在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的正常运行。可以使用控制台命令SWA、SWB的不同取值,或使用联机软件检查内存程序是否正确,微程序是否正确。