《计算机组成原理》
课程设计报告
报告题目: 复杂模型机系统设计及调试运行 作者所在系部: 计算机与遥感信息工程学院 作者所在专业: 计算机科学与技术 作者所在班级: B12512 作 者 姓 名 : 张志伟 指导教师姓名: 房好帅 李楠 完 成 时 间 : 2015年1月9日
北华航天工业学院教务处制
目 录
内容摘要 ................................................................................................................................... I 课程设计任务书 ..................................................................................................................... II 第1章 绪论 .......................................................................................................................... 1
1.1 设计地点 ................................................................................................................... 1 1.2 设计目的 ................................................................................................................... 1 1.3 设计内容 ................................................................................................................... 1 1.4 实验的环境和设备 ................................................................................................... 2 1.5设计的意义 ................................................................................................................ 2 1.6课程设计的要求 ........................................................................................................ 2 第2章 指令系统概述 ............................................................................................................ 3
2.1 模型机结构框图 ....................................................................................................... 3 2.2 工作原理 ................................................................................................................... 4
2.2.1 数据格式 ........................................................................................................ 4 2.2.2 指令格式 ........................................................................................................ 4 2.2.3 指令系统 ........................................................................................................ 5
第3章 微代码设计与实验 .................................................................................................. 7
3.1 微代码设计 ............................................................................................................... 7 3.2 实验微代码 ............................................................................................................... 8 第4章 运算程序设计 ........................................................................................................ 10 第5章 系统实现 ................................................................................................................ 11
5.1 系统设计内容 ......................................................................................................... 11 5.2 系统实现 ................................................................................................................. 11 第6章 总 结 .................................................................................................................... 16 参考文献 ................................................................................................................................ 17
内容摘要
计算机系统由计算机硬件和软件两部分组成。硬件包括中央处理机、存储器和外部设备等;软件是计算机的运行程序和相应的文档。计算机系统 具有接收和存储信息、按程序快速计算和判断并输出处理结果等功能。
本实验利用EL-JY-Ⅱ型计算机组成原理实验系统组建电路,综合运用运算器、控制器等部件,完成一个较完整的模型机设计和实现,并构造一个指令系统使编写机器指令实现不同的具体运算功能,如实现数据的输入、输出、加法、减法、移位、乘法以及赋值等运算的功能。
关键词:EL-JY-II 模型机 指令系统 机器指令 微程序
课程设计任务书
第1章 绪论
现代社会计算机的应用将会越来越普遍,了解计算机的组成与体系结构,对使用计算机的人们来说有很大的帮助,能够使他们熟练地掌握和操作计算机。通过课程设计对计算机组成和系统结构的基础知识进行全面的掌握,培养独立分析、研究、开发和综合设计能力。
1.1 设计地点
教10五楼嵌入式实验室。
1.2 设计目的
本课程设计综合运用运算器、控制器、存储器、输入输出系统、总线等部件和辅助电路,完成一个较完整的模型计算机设计和实现(包括硬件和软件)。
通过课程设计对计算机组成和系统结构的基础知识进行全面的掌握,培养独立分析、研究、开发和综合设计能力。
1.3 设计内容
掌握计算机五大功能部件的组成及功能,熟悉完整的单台计算机基本组成原理,掌握计算机中数据表示方法、运算方法、运算器的组成、控制器的实现、存储器子系统的结构与功能、输入/输出系统的工作原理与功能。
(1)利用实验设备平台构造完整的模型机;
(2)利用运算器74LS181执行算术操作和逻辑操作;
(3)运用随机存储器RAM以及地址和数据在计算机总线的传送关系,实现运算器和存储器协同工作,读写数据,检查结果是否正确;
(4)应用微程序控制器,往EEPROM里任意写24位微代码,读出微代码并验证其正确性;
(5)构造指令系统,定义至少15条机器指令,实现比较完整的模型机功能,包括算术/逻辑运算以及输入输出处理;
(6)完成指定功能的实现,参加成果验收,撰写课程设计报告。
1.4 实验的环境和设备
利用EL-JY-II型计算机组成与系统结构实验系统。
系统采用“基板+扩展板(CPU板)”形式;系统公共部分如数据输入/输出和显示、单片机控制、与PC机通讯等电路放置在基板上,微程序控制器、运算器、各种寄存器、译码器等电路放置在扩展板上。
系统提供有面包板和CPLD实验板,可自己设计内容。
1.5设计的意义
掌握计算机五大功能部件的组成及功能,熟悉完整的单台计算机基本组成原理,掌握计算机中数据表示方法、运算方法、运算器的组成、控制器的实现、存储器子系统的结构与功能、输入/输出系统的工作原理与功能。通过自己设计机器指令,将所学的知识运用与实践。
1.6课程设计的要求
要求画出系统模块框图:按从上到下的设计方法,将整个设计依功能划分成若干模块;并确定各个模块的输出、输入端口及要完成的功能。检查模块逻辑功能是否正确。
第2章 指令系统概述
2.1 模型机结构框图
此模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。
1.运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器Ax,Bx,Cx等组成。
2.控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。
3.存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。
4.输出设备有两位LED数码管和W/R控制完成的。
图2-1中运算器ALU由U7--U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。微控器部分控存由U13--U15三片2816构成。除此之外,CPU的其他部分都由EP1K10集成。
存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H--FFH。
输出设备由底板上的四个LED数码管及其译码、驱动构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。在开关方式下,输入设备由16位电平开关及两个三态缓冲芯片74LS244构成,当DIJ-G为低电平时将16位开关状态送上数据总线。在键盘方式或联机方式下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。
本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序计数器时,只有低八位有效。
2.2 工作原理
2.2.1 数据格式
本实验计算机采用定点补码表示法表示数据,字长为16位,格式如下:
其中,第16位为符号位,数值表示范围是:-32768 ~ 32767。 2.2.2 指令格式 (1)算术逻辑指令
设计9条单字长算术逻辑指令,寻址方式采用寄存器直接寻址。其格式如下:
表2-2 寻址方式表示表
表2-3 操作码表
其中OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:
表2-4 寄存器表
(2)存储器访问及转移指令
存储器的访问有两种,存数和取数。它们都使用助记符MOV,但操作码不同。转移指令只有一种,及无条件转移(JMP)。指令格式如下:
表2-5 存储器的访问表
其中OP-CODE为操作码,rd为寄存器。M为寻址模式,D随M的不同其定义也不同,如下表所示:
表2-7 寻址模式表
(3)I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
其中,当OP-CODE=0100且addr=10时,从“数据输入电路”中的开关组输入数据;当OP-CODE=0100且addr=01时,将数据输入到“输出显示电路”中的数码管显示。
2.2.3 指令系统
本系统共有十四条基本指令,其中算术逻辑指令8条,访问内存指令和程序控制指令4条,输入输出指令2条。
表2-1列出了各条指令的格式,汇编符号和指令功能。
第3章 微代码设计与实验
3.1 微代码设计
设计三个控制操作微程序如下: (1)存储器读操作(MRD)
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。
(2)存储器写操作(MWE)
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。
(3)启动程序(RUN)
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“11”时,按“单步”键,即可转入到第01号“取指”微指令,启动程序运行。
本系统设计的微程序字长共24位,其控制位顺序如表3-1所示。
表3-1 24位微代码表
F1、F2、F3三个字段的编码方案如表3-2所示。
表3-2 编码方案表
微程序流程图如图3-1所示。
图3-1 指令系统流程
3.2 实验微代码
实验微代码如表3-3所示。
表3-3 使用微代码表
第4章 运算程序设计
本实验所实现的计算公式为:
Cx=[(Ax*2+1)*2]/2-Bx
由计算公式可得出如表4-1所示的机器指令代码表:
第5章 系统实现
5.1 系统设计内容
本系统完成计算及验证实验结果。 计算公式:Cx=[(Ax*2+1)*2]/2-Bx 观察结果值与实验输出值是否相等。
5.2 系统实现
系统在联机方式下进行。 步骤如下:
(1) 连接硬件系统,电路如图5-1所示。
图5-1 硬件连线图
图5-2 硬件连线实物图
(2)启动实验联机软件,打开实验课题菜单,选中实验课题,打开实验课题参数对话窗口。
微指令操作:
写:在编辑框中输入微指令程序(格式:两位八进制微地址 + 空格 + 六位十六进制微代码),按“保存”按钮,将微程序代码保存在一给定文件(*.MSM)中;按“打开”按钮,打开已有的微程序文件,并显示在编辑框中;将实验箱上的K4K3K2K1拨到写状态即K1 off、K2 on、K3 off、K4 off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入及显示电路上,然后按"写入"按钮,微程序写入控制存储器电路。
读:将实验箱上的K4K3K2K1拨到写状态即K1 off、K2 on、K3 off、K4 off,在“读出微地址”栏中填入两位八进制地址,按“读出”按钮,则相应的微代码显示在“读出微代码”栏中。
微指令操作界面如图5-3所示。
图5-3 微指令操作
打开实验课题参数对话窗口:机器指令操作。
写:在编辑框中输入实验用的机器指令程序(格式:两位十六进制地址+空格+2位或4位十六进制代码),按“保存”按钮,将机器指令程序代码保存在一给定文件(*.ASM)中;按“打开”按钮,打开已有的机器指令程序文件,并显示在编辑框中;将实验箱上的K4K3K2K1拨到运行状态即K1 on、K2 off、K3 on、K4 off,拨动“CLR”开关对地址和微地址清零,将表13中的数据以图4形式写入,然后按“写入”按钮,机器指令写入存储器电路。
读:将实验箱上的K4K3K2K1拨到运行状态即K1 on、K2 off、K3 on、K4 off,在“读出指令地址”栏中填入两位十六进制地址,拨动“CLR”开关对地址和微地址清零,然后按“读出”按钮,则相应的指令代码显示在“读出指令代码”栏中。
(3)运行程序
单步:在运行状态前提下,选择操作-→单步,然后拨动“CLR”开关对地址和微地址清零,然后每按一次"单步"按钮,执行一条微指令。可从实验箱的指示灯和显示LED观察单步运行的结果。
连续:在运行状态前提下,选择操作-→连续,先拨动“CLR”开关对地址和微地址清零,然后按"连续"按钮,可连续执行程序。可从实验箱的指示灯和显示LED观察连续运行的结果。
停止:在连续运行程序过程中,可按"停止”按钮暂停程序的执行。此时地址和微地址并不复位,仍可以从暂停处单步或连续执行。
机器指令操作界面如图5-4所示:
图5-4 机器指令操作
程序运行过程中,遇到输入语句时,会出现如图5-5和图5-6所示对话框,要求输入数据:
图5-5 输入数据对话框
(4) 测试用例
以下为实验中使用的输入数据及计算结果:
实验结果如下所示:
图5-6第一组数据及结果
图5-7 第二组数据及结果
图5-8第三组数据及结果
第6章 总 结
在这次课程设计中,基本上了解和掌握了模型机的硬件结构关于微程序的设计。在实验的开始阶段主要是参考实验指导书上提供的实验,熟悉实验环境和实验设备,然后进行实验。在随后的实验中,我们开始自行设计公式,用来验证。同时在实验中了解到各个器件的功能与作用,微地址的使用与机器指令的设计。
在为期一周多的实验过程中,按照实验指导书的实验步骤,设计模型机,连接线路。设计了机器指令,指令中开始具有将数据存入寄存器再取出的功能,实验中完成了加减乘除运算四则运算和逻辑运算,使用了运算器、控制器、存储器、输入输出系统、总线等部件和辅助电路完成实验功能,在此基础上完成一个较完整的模型计算机设计。
在整个实验过程中我遇到了许多的麻烦,其中最主要的有机器的调试和微代码的更改与编写,其次就是公式的编写和验证。为了满足要求,不断的进行着调试。在调试程序中所遇到的困难,由于这学期使用的模拟机的某些部件可能存在问题,尤其常见的是电源线的故障,所以我们在调试程序的过程中首先遇到的就是排除机器故障的问题。微指令需要和指令格式表中进行严格的对照。有一些微代码还存在一些错误,例如开始的微代码无法运行与操作,在老师的提点下知道也许是微代码出现问题。接下来便是将相应的机器指令存入内存,微指令存入控制存储器中这些都是一些比较琐碎的工作所以稍微疏忽便会出错。
总之,在这次实验中,更多需要的是自己的动手能力和独立思考能力,要积极的去尝试,把自己的指令和别人的进行对照,不断的完善和改进。以后在做各种试验的时候就需要的是这种实践能力。最后,还得感谢老师和同学们的帮助,让我完成了这份任务。
参考文献
[1]季福坤. 计算机组织与系统结构. 中国水利水电出版社,2010
[2]唐硕飞. 计算机组成原理. 高等教育出版社,2002
[3]白中英. 计算机组织与结构. 科学出版社,2003
[4]蒋本珊. 计算机组成原理. 清华大学出版社,2004
[5]黄钦胜. 计算机组成原理. 电子工业出版社,2003
[6]杨小龙. 计算机组织与系统结构实验教程.西安电子科技大学出版社,2004
17
18